[Trilinos-Users] Unable to Build Trilinos with CUDA 4.0 [Kokkos Error]

Baker, Christopher G. bakercg at ornl.gov
Tue Mar 22 15:19:36 MDT 2011


It looks like this the following is what you need (see below).

The reason is that this test is hard-coded to double. If we are using explicit instantiation, but double wasn't instantiated for Tpetra+Thrust objects, this results in a link error. The fix below keeps the GEMMTiming test from being built when Tpetra+Thrust isn't instantiated on double. If your GPU supports double, you will need to enable double via
 -D Kokkos_ENABLE_CUDA_DOUBLE:BOOL=ON
It is disabled by default, as not all CUDA-capable GPUs are double-capable.

I will push this to 10.6 branch for the upcoming 10.6.4 release, and to the dev. Thanks for catching this; I should have seen it, except that our nightly CUDA testing platform is currently dead.

Chris

diff --git a/packages/tpetra/test/MultiVector/CMakeLists.txt b/packages/tpetra/test/MultiVector/CMakeLists.txt
index 0dfa641..07e7f8f 100644
--- a/packages/tpetra/test/MultiVector/CMakeLists.txt
+++ b/packages/tpetra/test/MultiVector/CMakeLists.txt
@@ -34,7 +34,7 @@ IF (Kokkos_ENABLE_ThreadPool AND Tpetra_ENABLE_MPI)
   APPEND_SET(TIMING_INSTALLS Tpetra_GEMMTiming_TPI)
 ENDIF()

-IF (Kokkos_ENABLE_Thrust AND Tpetra_ENABLE_MPI)
+IF (Kokkos_ENABLE_Thrust AND Kokkos_ENABLE_CUDA_DOUBLE AND Tpetra_ENABLE_MPI)
   PACKAGE_ADD_EXECUTABLE(
       GEMMTiming_Thrust
       SOURCES GEMMTiming_Thrust





More information about the Trilinos-Users mailing list