Trilinos issueshttps://gitlab.osti.gov/jmwille/Trilinos/-/issues2016-08-23T13:37:36Zhttps://gitlab.osti.gov/jmwille/Trilinos/-/issues/574Epetra_VbrMatrix::ExtractGlobalRowCopy has not been implemented yet.2016-08-23T13:37:36ZJames WillenbringEpetra_VbrMatrix::ExtractGlobalRowCopy has not been implemented yet.*Created by: RATATATO*
When I used Epetra_VbrMatrix::ExtractGlobalRowCopy in my source, my program outputted "Must implement....". and no elements were copied to an array.
Here is an example.
https://gist.github.com/RATATATO/5aaae9ed13...*Created by: RATATATO*
When I used Epetra_VbrMatrix::ExtractGlobalRowCopy in my source, my program outputted "Must implement....". and no elements were copied to an array.
Here is an example.
https://gist.github.com/RATATATO/5aaae9ed130d9bed87cb779531b25a84
Output is as follow
```
Must implement...
ExtractGlobalRowCopy: -1 -1
ExtractMyRowCopy: 1 4
```
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/480Update dggsvd support in Epetra2017-08-01T20:53:17ZJames WillenbringUpdate dggsvd support in Epetra*Created by: jwillenbring*
CC: @bartlettroscoe @maherou
dggsvd was deprecated in LAPACK 3.6.0. In the same version, dggsvd3 was added, which has one fewer argument but is similar otherwise.
ftp://ftp.icm.edu.pl/packages/netlib/lapack...*Created by: jwillenbring*
CC: @bartlettroscoe @maherou
dggsvd was deprecated in LAPACK 3.6.0. In the same version, dggsvd3 was added, which has one fewer argument but is similar otherwise.
ftp://ftp.icm.edu.pl/packages/netlib/lapack/lapack-3.6.0.txt
http://www.netlib.org/lapack/explore-html/d6/db3/dggsvd3_8f.html
http://www.netlib.org/lapack/explore-html/dd/db4/dggsvd_8f.html
@bartlettroscoe suggested that a configure-time check would be appropriate here to probe LAPACK and see which routine is available. There are examples of this sort of thing in Teuchos (see Trilinos/packages/teuchos/CMakelists.txt).
@krcb is this something @MicheldeMessieres or you could take a look at?
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/459Epetra has no debug-mode macro2016-06-27T20:59:39ZJames WillenbringEpetra has no debug-mode macro*Created by: mhoemmen*
@tawiesn
Epetra lacks a debug-mode macro comparable to HAVE_TPETRA_DEBUG or KOKKOS_HAVE_DEBUG.
*Created by: mhoemmen*
@tawiesn
Epetra lacks a debug-mode macro comparable to HAVE_TPETRA_DEBUG or KOKKOS_HAVE_DEBUG.
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/431Interfacing librsb into Epetra2016-07-25T17:06:52ZJames WillenbringInterfacing librsb into Epetra*Created by: michelemartone*
[rsb.hpp.txt](https://github.com/trilinos/Trilinos/files/309141/rsb.hpp.txt)
[Epetra_CrsMatrix.h.txt](https://github.com/trilinos/Trilinos/files/309139/Epetra_CrsMatrix.h.txt)
[Epetra_CrsMatrix.cpp.txt](http...*Created by: michelemartone*
[rsb.hpp.txt](https://github.com/trilinos/Trilinos/files/309141/rsb.hpp.txt)
[Epetra_CrsMatrix.h.txt](https://github.com/trilinos/Trilinos/files/309139/Epetra_CrsMatrix.h.txt)
[Epetra_CrsMatrix.cpp.txt](https://github.com/trilinos/Trilinos/files/309140/Epetra_CrsMatrix.cpp.txt)
@mhoemmen @maherou
Hi. After my talk at EUROTUG'16 on Apr. 18-20 2016 near Munich [ https://www.mhpc.mw.tum.de/index.php?id=38 ] and subsequent discussion with Michael and Mark I've been encouraged to propose an incremental integration of the sparse matrix type RSB (provided by librsb [ http://librsb.sourceforge.net/ ]) into Epetra.
So following such a minimalist approach I have modified a few lines in Epetra_CrsMatrix (from trilinos-12.6.1) to use librsb for: MV/MTV/SV/SM, in code delimited by the HAVE_EPETRA_RSB
preprocessor symbol; and constructs in Epetra_CrsMatrix::FillComplete and in the copy constructor.
So the prototype I am providing creates an RSB copy of the matrix just for the purposes of using it in the operations above.
I am also working on a proper "Epetra_RsbMatrix" class, but let's first see if this one here is able to sustain some tests for the above operations.
The way I suggest to build this is:
- # get my / michele martone's GPG key
gpg --search EF1258B8
- # download librsb from
https://sourceforge.net/projects/librsb/files/librsb-1.2.0-rc3.tar.gz/download
# download its signature from
https://sourceforge.net/projects/librsb/files/librsb-1.2.0-rc3.tar.gz.asc/download
# verify signature
gpg --verify librsb-1.2.0-rc3.tar.gz.asc
# build librsb
tar xzf librsb-1.2.0-rc3.tar.gz
cd librsb-1.2.0-rc3
./configure CFLAGS="-O3 -fPIC" FCFLAGS="-O3 -fPIC" --prefix=/opt/librsb
make
# quick check
make qtests
# long check (I recommend to skip it)
make tests
make install
- use attached version of Epetra_CrsMatrix.cpp and Epetra_CrsMatrix.h
and put attached rsb.hpp (the Epetra-agnostic C++ wrapper to librsb)
into e.g. /opt/librsb/include/
- build Epetra including e.g. `/opt/librsb/bin/librsb-config --I_opts`
- link with e.g. `/opt/librsb/bin/librsb-config --ldflags` -fopenmp -lm -lz
I attach the source files I have used, with ".txt" appended to the filename.
The rsb.hpp file is meant to become part of a future release of librsb.
I am new here, so if there is a more practical approach to follow to provide this proof-of-concept test, please suggest it to me.
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/401Epetra_IntSerialDense_test_MPI_1 Fails on POWER8 using GCC 5.3.0 (OpenMP/Seri...2016-07-20T14:50:44ZJames WillenbringEpetra_IntSerialDense_test_MPI_1 Fails on POWER8 using GCC 5.3.0 (OpenMP/Serial Backend Only, No CUDA)*Created by: nmhamster*
```
$ ctest -V -R Epetra_IntSerialDense_test_MPI_1
UpdateCTestConfiguration from :/home/sdhammo/git/trilinos-github-repo/build-power8-gcc-no-cuda/DartConfiguration.tcl
Parse Config file:/home/sdhammo/git/trilino...*Created by: nmhamster*
```
$ ctest -V -R Epetra_IntSerialDense_test_MPI_1
UpdateCTestConfiguration from :/home/sdhammo/git/trilinos-github-repo/build-power8-gcc-no-cuda/DartConfiguration.tcl
Parse Config file:/home/sdhammo/git/trilinos-github-repo/build-power8-gcc-no-cuda/DartConfiguration.tcl
Add coverage exclude regular expressions.
SetCTestConfiguration:CMakeCommand:/home/projects/pwr8-rhel72/cmake/3.4.3/bin/cmake
UpdateCTestConfiguration from :/home/sdhammo/git/trilinos-github-repo/build-power8-gcc-no-cuda/DartConfiguration.tcl
Parse Config file:/home/sdhammo/git/trilinos-github-repo/build-power8-gcc-no-cuda/DartConfiguration.tcl
Test project /home/sdhammo/git/trilinos-github-repo/build-power8-gcc-no-cuda
Constructing a list of tests
Done constructing a list of tests
Checking test dependency graph...
Checking test dependency graph end
test 145
Start 145: Epetra_IntSerialDense_test_MPI_1
145: Test command: /home/projects/pwr8-rhel72/openmpi/1.10.2/gcc/5.3.0/cuda/8.0.21/bin/mpiexec "-np" "1" "/home/sdhammo/git/trilinos-github-repo/build-power8-gcc-no-cuda/packages/epetra/test/IntSerialDense/Epetra_IntSerialDense_test.exe" "-v"
145: Test timeout computed to be: 1500
145: Epetra in Trilinos 12.7 (Dev)
145:
145:
145: ==================================================================
145: Testing vector error-reporting.
145: Expect error messages if EPETRA_NO_ERROR_REPORTS is not defined.
145: ==================================================================
145: Checking Epetra_IntSerialDenseVector(-1)Checked OK.
145:
145: Checking Epetra_IntSerialDenseVector(Copy, int*, -3)Checked OK.
145:
145: Checking Epetra_IntSerialDenseVector(Copy, 0, 5)Checked OK.
145:
145: Checking Size(-2)
145: Checked OK.
145:
145: Checking Resize(-4)
145: Checked OK.
145: [white20:80587] *** Process received signal ***
145: [white20:80587] Signal: Segmentation fault (11)
145: [white20:80587] Signal code: Address not mapped (1)
145: [white20:80587] Failing at address: 0x40
145: [white20:80587] [ 0] [0x3fff814f0478]
145: [white20:80587] [ 1] /home/sdhammo/git/trilinos-github-repo/build-power8-gcc-no-cuda/packages/epetra/test/IntSerialDense/Epetra_IntSerialDense_test.exe(_Z16vectorExceptionsbb+0x764)[0x1006c604]
145: [white20:80587] [ 2] /home/sdhammo/git/trilinos-github-repo/build-power8-gcc-no-cuda/packages/epetra/test/IntSerialDense/Epetra_IntSerialDense_test.exe(main+0x94)[0x100674f4]
145: [white20:80587] [ 3] /lib64/power8/libc.so.6(+0x24580)[0x3fff80b74580]
145: [white20:80587] [ 4] /lib64/power8/libc.so.6(__libc_start_main+0xc4)[0x3fff80b74774]
145: [white20:80587] *** End of error message ***
145: --------------------------------------------------------------------------
145: mpiexec noticed that process rank 0 with PID 80587 on node white20 exited on signal 11 (Segmentation fault).
145: --------------------------------------------------------------------------
1/1 Test #145: Epetra_IntSerialDense_test_MPI_1 ...***Failed 1.06 sec
0% tests passed, 1 tests failed out of 1
Label Time Summary:
Epetra = 1.06 sec (1 test)
Total Test time (real) = 1.52 sec
The following tests FAILED:
145 - Epetra_IntSerialDense_test_MPI_1 (Failed)
Errors while running CTest
```
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/320Shylu Core not compiling with Cuda enabled2016-04-29T19:40:27ZJames WillenbringShylu Core not compiling with Cuda enabled*Created by: crtrott*
The following set of errors occur when compiling Shylu with Cuda enabled:
```
[ 37%] Building CXX object packages/shylu/core/src/CMakeFiles/shylu.dir/epetra/shylu_local_schur_operator.cpp.o
/home/crtrott/Trilinos...*Created by: crtrott*
The following set of errors occur when compiling Shylu with Cuda enabled:
```
[ 37%] Building CXX object packages/shylu/core/src/CMakeFiles/shylu.dir/epetra/shylu_local_schur_operator.cpp.o
/home/crtrott/Trilinos/packages/tpetra/kernels/src/Kokkos_ArithTraits.hpp(572): error: more than one instance of overloaded function "isinf" matches the argument list:
function "isinf(float)"
function "std::isinf(float)"
argument types are: (const float)
/home/crtrott/Trilinos/packages/tpetra/kernels/src/Kokkos_ArithTraits.hpp(578): error: more than one instance of overloaded function "isnan" matches the argument list:
function "isnan(float)"
function "std::isnan(float)"
argument types are: (const float)
/home/crtrott/Trilinos/packages/tpetra/kernels/src/Kokkos_ArithTraits.hpp(842): error: more than one instance of overloaded function "isinf" matches the argument list:
function "isinf(double)"
function "std::isinf(double)"
argument types are: (const double)
/home/crtrott/Trilinos/packages/tpetra/kernels/src/Kokkos_ArithTraits.hpp(848): error: more than one instance of overloaded function "isnan" matches the argument list:
function "isnan(double)"
function "std::isnan(double)"
argument types are: (const double)
/home/crtrott/Trilinos/packages/tpetra/kernels/src/Kokkos_ArithTraits.hpp(978): error: more than one instance of overloaded function "isinf" matches the argument list:
function "isinf(long double)"
function "std::isinf(long double)"
argument types are: (const long double)
/home/crtrott/Trilinos/packages/tpetra/kernels/src/Kokkos_ArithTraits.hpp(984): error: more than one instance of overloaded function "isnan" matches the argument list:
function "isnan(long double)"
function "std::isnan(long double)"
argument types are: (const long double)
```
Typically this type of error comes from including both <math.h> and <cmath>, with the latter being the proper C++ include, while the former actually includes the C header file. Most compilers seem to have ways around including both files, but when dealing with nvcc you have two compilers and including both of those math headers often fails. Doing a very cursory search on where those includes might come from it looks like it is from Epetra:
```
$ grep "cmath" ~/Trilinos/packages/epetra/src/*
~/Trilinos/packages/epetra/src/Epetra_ConfigDefs.h:#include <cmath>
~/Trilinos/packages/epetra/src/Epetra_ConfigDefs.h:#include <cmath>
$ grep "math.h" ~/Trilinos/packages/epetra/src/*
~/Trilinos/packages/epetra/src/Epetra_ConfigDefs.h:#include <math.h>
```
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/256Epetra_IntSerialDense_test_MPI_1 Test Failure on POWER8 GCC+CUDA7.5 Build2016-04-01T00:02:13ZJames WillenbringEpetra_IntSerialDense_test_MPI_1 Test Failure on POWER8 GCC+CUDA7.5 Build*Created by: nmhamster*
I am continuing to work through the configuration, build and test of Trilinos on POWER8. When using GCC 4.9 with CUDA 7.5 on the `white` Sandia machine I get the following failure in the `Epetra_IntSerialDense_te...*Created by: nmhamster*
I am continuing to work through the configuration, build and test of Trilinos on POWER8. When using GCC 4.9 with CUDA 7.5 on the `white` Sandia machine I get the following failure in the `Epetra_IntSerialDense_test_MPI_1` test.
```
$ ctest -VV -R Epetra_IntSerialDense_test_MPI_1
UpdateCTestConfiguration from :/ascldap/users/sdhammo/git/trilinos-github-repo/build-power8-gcc-cuda-757-test-ramdisk/DartConfiguration.tcl
Parse Config file:/ascldap/users/sdhammo/git/trilinos-github-repo/build-power8-gcc-cuda-757-test-ramdisk/DartConfiguration.tcl
Add coverage exclude regular expressions.
SetCTestConfiguration:CMakeCommand:/home/projects/pwr8-rhel72/cmake/3.4.3/bin/cmake
UpdateCTestConfiguration from :/ascldap/users/sdhammo/git/trilinos-github-repo/build-power8-gcc-cuda-757-test-ramdisk/DartConfiguration.tcl
Parse Config file:/ascldap/users/sdhammo/git/trilinos-github-repo/build-power8-gcc-cuda-757-test-ramdisk/DartConfiguration.tcl
Test project /ascldap/users/sdhammo/git/trilinos-github-repo/build-power8-gcc-cuda-757-test-ramdisk
Constructing a list of tests
Done constructing a list of tests
Checking test dependency graph...
Checking test dependency graph end
test 146
Start 146: Epetra_IntSerialDense_test_MPI_1
146: Test command: /ascldap/users/projects/pwr8-rhel72/openmpi/1.10.2/gcc/4.9.2/cuda/7.5.7/bin/mpiexec "-np" "1" "/ascldap/users/sdhammo/git/trilinos-github-repo/build-power8-gcc-cuda-757-test-ramdisk/packages/epetra/test/IntSerialDense/Epetra_IntSerialDense_test.exe" "-v"
146: Test timeout computed to be: 1500
146: Epetra in Trilinos 12.7 (Dev)
146:
146:
146: ==================================================================
146: Testing vector error-reporting.
146: Expect error messages if EPETRA_NO_ERROR_REPORTS is not defined.
146: ==================================================================
146: Checking Epetra_IntSerialDenseVector(-1)Checked OK.
146:
146: Checking Epetra_IntSerialDenseVector(Copy, int*, -3)Checked OK.
146:
146: Checking Epetra_IntSerialDenseVector(Copy, 0, 5)Checked OK.
146:
146: Checking Size(-2)
146: Checked OK.
146:
146: Checking Resize(-4)
146: Checked OK.
146: [white26:48861] *** Process received signal ***
146: [white26:48861] Signal: Segmentation fault (11)
146: [white26:48861] Signal code: Address not mapped (1)
146: [white26:48861] Failing at address: (nil)
146: [white26:48861] [ 0] [0x3fff8e9d0478]
146: [white26:48861] [ 1] /ascldap/users/sdhammo/git/trilinos-github-repo/build-power8-gcc-cuda-757-test-ramdisk/packages/epetra/test/IntSerialDense/Epetra_IntSerialDense_test.exe(_Z16vectorExceptionsbb+0x9b8)[0x10073158]
146: [white26:48861] [ 2] /ascldap/users/sdhammo/git/trilinos-github-repo/build-power8-gcc-cuda-757-test-ramdisk/packages/epetra/test/IntSerialDense/Epetra_IntSerialDense_test.exe(main+0x90)[0x1006b9d0]
146: [white26:48861] [ 3] /lib64/power8/libc.so.6(+0x24580)[0x3fff855c4580]
146: [white26:48861] [ 4] /lib64/power8/libc.so.6(__libc_start_main+0xc4)[0x3fff855c4774]
146: [white26:48861] *** End of error message ***
146: --------------------------------------------------------------------------
146: mpiexec noticed that process rank 0 with PID 48861 on node white26 exited on signal 11 (Segmentation fault).
146: --------------------------------------------------------------------------
1/1 Test #146: Epetra_IntSerialDense_test_MPI_1 ...***Failed 11.07 sec
0% tests passed, 1 tests failed out of 1
Label Time Summary:
Epetra = 11.07 sec (1 test)
Total Test time (real) = 11.52 sec
The following tests FAILED:
146 - Epetra_IntSerialDense_test_MPI_1 (Failed)
Errors while running CTest
```
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/248Epetra: Add equivalent of Tpetra::Distributor::createFromSendsAndRecvs to Epe...2016-11-02T20:56:23ZJames WillenbringEpetra: Add equivalent of Tpetra::Distributor::createFromSendsAndRecvs to Epetra's Distributor*Created by: mhoemmen*
@trilinos/tpetra
@csiefer2
This corresponds to the MPI 3 sparse all-to-all constructor as well.
*Created by: mhoemmen*
@trilinos/tpetra
@csiefer2
This corresponds to the MPI 3 sparse all-to-all constructor as well.
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/132Tpetra: Port Andrey's getLocalRowView benchmark from MueLu to Tpetra2016-02-05T14:29:36ZJames WillenbringTpetra: Port Andrey's getLocalRowView benchmark from MueLu to Tpetra*Created by: mhoemmen*
@trilinos/tpetra
@aprokop wrote a benchmark in MueLu that compares performance of getting local row views with Xpetra::CrsMatrix, Epetra_CrsMatrix, Tpetra::CrsMatrix, and KokkosSparse::CrsMatrix. See Issue #118 ...*Created by: mhoemmen*
@trilinos/tpetra
@aprokop wrote a benchmark in MueLu that compares performance of getting local row views with Xpetra::CrsMatrix, Epetra_CrsMatrix, Tpetra::CrsMatrix, and KokkosSparse::CrsMatrix. See Issue #118 for discussion. The problem is that the benchmark lives in MueLu, and requires enabling experimental build options which are off by default (see Issue #128, now closed, thanks Andrey!). This motivates me to port the benchmark to Tpetra. The main point of the benchmark will be to compare Tpetra vs. Epetra vs. "raw" Kokkos performance, so I will leave Xpetra out.
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/79importAndFillComplete (and analogous Epetra constructor) for CrsGraph2018-02-21T01:03:07ZJames WillenbringimportAndFillComplete (and analogous Epetra constructor) for CrsGraph*Created by: kddevin*
@trilinos/tpetra
Chris Siefert directed my attention to the new importAndFillComplete utility in Tpetra::CrsMatrix, and an analogous constructor for Epetra_CrsMatrix.
It would be nice (but not urgent) to have ana...*Created by: kddevin*
@trilinos/tpetra
Chris Siefert directed my attention to the new importAndFillComplete utility in Tpetra::CrsMatrix, and an analogous constructor for Epetra_CrsMatrix.
It would be nice (but not urgent) to have analogous capability for CrsGraph.
Tpetra-backloghttps://gitlab.osti.gov/jmwille/Trilinos/-/issues/9Epetra, MOOCHO: ../thyra/doc/Doxyfile not found2016-03-03T17:49:55ZJames WillenbringEpetra, MOOCHO: ../thyra/doc/Doxyfile not found*Created by: nschloe*
Both Epetra and MOOCHO documentations refer to a nonexisting `../thyra/doc/Doxyfile`:
```
$ grep "../thyra/doc/Doxyfile" * -r
packages/epetra/doc/build_docs:doxygen ../thyra/doc/Doxyfile
packages/moocho/doc/build_...*Created by: nschloe*
Both Epetra and MOOCHO documentations refer to a nonexisting `../thyra/doc/Doxyfile`:
```
$ grep "../thyra/doc/Doxyfile" * -r
packages/epetra/doc/build_docs:doxygen ../thyra/doc/Doxyfile
packages/moocho/doc/build_docs_guts:doxygen ../thyra/doc/Doxyfile
```
Perhaps some `../` missing?