[Trilinos-Users] End of progress on trilinos-13.0.0
John Cary
cary at colorado.edu
Tue Oct 13 12:05:56 MST 2020
I got trilinos building with Kokkos without CUDA, but there my progress
stopped. To get this far, I had to disable NOX and apply the attached
patch.
My maximal configuration is at the end of this email.
Adding Xpetra or Tpetra leads to failures like
D:\winsame\cary\vorpalall-dev3\builds\trilinos-13.0.0\packages\kokkos\core\src\i
mpl/Kokkos_HostThreadTeam.hpp(387): warning C4244: 'initializing':
conversion fr
om 'int64_t' to 'int', possible loss of data
D:\winsame\cary\vorpalall-dev3\builds\trilinos-13.0.0\packages\kokkos\core\src\i
mpl/Kokkos_HostThreadTeam.hpp(387): warning C4244: 'initializing':
conversion fr
om 'int64_t' to 'const int', possible loss of data
D:\winsame\cary\vorpalall-dev3\builds\trilinos-13.0.0\packages\kokkos-kernels\sr
c\batched\KokkosBatched_Util.hpp(343): error C2146: syntax error:
missing ')' be
fore identifier 'A'
D:\winsame\cary\vorpalall-dev3\builds\trilinos-13.0.0\packages\kokkos-kernels\sr
c\batched\KokkosBatched_Util.hpp(343): error C3646: 'A': unknown
override specif
ier
D:\winsame\cary\vorpalall-dev3\builds\trilinos-13.0.0\packages\kokkos-kernels\sr
c\batched\KokkosBatched_Util.hpp(343): error C2988: unrecognizable
template decl
aration/definition
D:\winsame\cary\vorpalall-dev3\builds\trilinos-13.0.0\packages\kokkos-kernels\sr
c\batched\KokkosBatched_Util.hpp(343): error C2059: syntax error: ','
D:\winsame\cary\vorpalall-dev3\builds\trilinos-13.0.0\packages\kokkos-kernels\sr
c\batched\KokkosBatched_Util.hpp(348): error C2059: syntax error: ')'
D:\winsame\cary\vorpalall-dev3\builds\trilinos-13.0.0\packages\kokkos-kernels\sr
c\batched\KokkosBatched_Util.hpp(348): error C2334: unexpected token(s)
precedin
g '{'; skipping apparent function body
...
Has anyone done a similar build of trilinos-13.0.0 on Windows or have
there been
any fixes for Windows builds? (I am familiar with what i written at
https://github.com/kokkos/kokkos/pull/3018, but trying CUDA free first.)
Thanks!
John Cary
'/winsame/dev3/contrib-vs2019/cmake-3.18.2-ser/bin/cmake' \
-DCMAKE_INSTALL_PREFIX:PATH=D:/winsame/dev3/contrib-vs2019/trilinos-13.0.0-sercommio
\
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_COLOR_MAKEFILE:BOOL=FALSE \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \
-DCMAKE_C_COMPILER:FILEPATH='C:/Program Files (x86)/Microsoft Visual
Studio/2019/Professional/VC/Tools/MSVC/14.27.29110/bin/HostX64/x64/cl.exe' \
-DCMAKE_CXX_COMPILER:FILEPATH='C:/Program Files (x86)/Microsoft
Visual
Studio/2019/Professional/VC/Tools/MSVC/14.27.29110/bin/HostX64/x64/cl.exe' \
-DCMAKE_C_FLAGS:STRING='/W3' \
-DCMAKE_CXX_FLAGS:STRING='/W3 /GR /EHsc /std:c++17 /Zc:__cplusplus
/D_HAS_AUTO_PTR_ETC' \
-DDART_TESTING_TIMEOUT:STRING=600 \
-DML_ENABLE_SuperLU:BOOL=OFF \
-DTrilinos_ENABLE_SuperLU5_API=ON \
-DPYTHON_EXECUTABLE:FILEPATH=C:/cygwin64/bin/python2.7.exe \
-DTrilinos_ENABLE_Fortran=OFF \
-DTrilinos_ENABLE_NOX:BOOL=FALSE \
-DKokkos_ENABLE_CUDA:BOOL=FALSE \
-DKokkos_ARCH_SNB:BOOL=FALSE \
-DKokkos_ENABLE_PROFILING:BOOL=FALSE \
-D:TPL_ENABLE_DLlib:BOOL=FALSE \
-DTrilinos_ENABLE_Xpetra:BOOL=OFF \
-DTPL_BLAS_LIBRARIES:FILEPATH='/winsame/dev3/contrib-vs2019/clapack_cmake-3.2.1-ser/lib/blas.lib;/winsame/dev3/contrib-vs2019/clapack_cmake-3.2.1-ser/lib/f2c.lib'
\
-DTPL_LAPACK_LIBRARIES:FILEPATH='/winsame/dev3/contrib-vs2019/clapack_cmake-3.2.1-ser/lib/lapack.lib'
\
-DTrilinos_ENABLE_Teuchos:BOOL=ON \
-DTrilinos_ENABLE_Triutils:BOOL=ON \
-DTrilinos_ENABLE_Epetra:BOOL=ON \
-DTrilinos_ENABLE_Amesos:BOOL=ON \
-DTrilinos_ENABLE_Ifpack:BOOL=ON \
-DTrilinos_ENABLE_AztecOO:BOOL=ON \
-DTrilinos_ENABLE_ML:BOOL=ON \
-DTrilinos_ENABLE_EpetraExt:BOOL=ON \
-DTrilinos_ENABLE_Galeri:BOOL=ON \
-DTrilinos_ENABLE_Shards:BOOL=ON \
-DTrilinos_ENABLE_Intrepid:BOOL=ON \
-DTrilinos_ENABLE_Komplex:BOOL=ON \
-DTrilinos_ENABLE_Zoltan:BOOL=ON \
-DTrilinos_ENABLE_Kokkos:BOOL=ON \
-DTPL_ENABLE_BinUtils:BOOL=OFF \
-DTPL_ENABLE_Pthread:BOOL=OFF \
-DTPL_ENABLE_SuperLU:BOOL=ON \
-DSuperLU_INCLUDE_DIRS:PATH='D:/winsame/dev3/volatile-vs2019/superlu-master.r73-ser/include'
\
-DSuperLU_LIBRARY_DIRS:PATH='D:/winsame/dev3/volatile-vs2019/superlu-master.r73-ser/lib'
\
-DSuperLU_LIBRARY_NAMES:STRING='superlu' \
-DTPL_ENABLE_Netcdf:BOOL=ON \
-DNetcdf_INCLUDE_DIRS:PATH='D:/winsame/dev3/contrib-vs2019/netcdfc-master.r6522-ser/include'
\
-DNetcdf_LIBRARY_DIRS:PATH='D:/winsame/dev3/contrib-vs2019/netcdfc-master.r6522-ser/lib;D:/winsame/dev3/contrib-vs2019/hdf5-1.10.6-ser/lib'
\
-DNetcdf_LIBRARY_NAMES:STRING='netcdf;hdf5_hl;hdf5' \
-DTPL_ENABLE_HDF5:BOOL=ON \
-DHDF5_INCLUDE_DIRS:PATH='D:/winsame/dev3/contrib-vs2019/hdf5-1.10.6-ser/include'
\
-DHDF5_LIBRARY_DIRS:PATH='D:/winsame/dev3/contrib-vs2019/hdf5-1.10.6-ser/lib'
\
-DHDF5_LIBRARY_NAMES:STRING='hdf5_hl;hdf5;hdf5_tools' \
-G 'NMake Makefiles JOM' \
D:/winsame/cary/vorpalall-dev3/builds/trilinos-13.0.0
-------------- next part --------------
diff -ruN trilinos-13.0.0/cmake/tribits/win_interface/include/gettimeofday.c trilinos-13.0.0-new/cmake/tribits/win_interface/include/gettimeofday.c
--- trilinos-13.0.0/cmake/tribits/win_interface/include/gettimeofday.c 2020-08-05 19:22:40.000000000 -0600
+++ trilinos-13.0.0-new/cmake/tribits/win_interface/include/gettimeofday.c 2020-10-13 08:08:27.000000000 -0600
@@ -1,4 +1,4 @@
-#include < time.h >
+#include <time.h>
#include <Winsock2.h> /* to get timeval struct */
struct timezone
diff -ruN trilinos-13.0.0/packages/amesos/CMakeLists.txt trilinos-13.0.0-new/packages/amesos/CMakeLists.txt
--- trilinos-13.0.0/packages/amesos/CMakeLists.txt 2020-08-05 19:22:40.000000000 -0600
+++ trilinos-13.0.0-new/packages/amesos/CMakeLists.txt 2020-10-13 08:08:27.000000000 -0600
@@ -10,9 +10,11 @@
# B) Set up package-specific options
#
-# if using SuperLUDist, must also link in ParMETIS for some reason
-IF(${PACKAGE_NAME}_ENABLE_SuperLUDist AND NOT ${PACKAGE_NAME}_ENABLE_ParMETIS)
- MESSAGE(FATAL_ERROR "The Amesos support for the SuperLUIDist TPL requires the ParMETIS TPL. Either disable Amesos SuperLUDist support or enable the ParMETIS TPL.")
+# One can now configure SuperLUDist without ParMETIS
+if (NOT TPL_ENABLE_SuperLUDist_Without_ParMETIS)
+ IF(${PACKAGE_NAME}_ENABLE_SuperLUDist AND NOT ${PACKAGE_NAME}_ENABLE_ParMETIS)
+ MESSAGE(FATAL_ERROR "The Amesos support for the SuperLUDist TPL requires the ParMETIS TPL. Either disable Amesos SuperLUDist support or enable the ParMETIS TPL.")
+ ENDIF()
ENDIF()
IF(${PACKAGE_NAME}_ENABLE_PARAKLETE)
diff -ruN trilinos-13.0.0/packages/kokkos/cmake/kokkos_arch.cmake trilinos-13.0.0-new/packages/kokkos/cmake/kokkos_arch.cmake
--- trilinos-13.0.0/packages/kokkos/cmake/kokkos_arch.cmake 2020-08-05 19:22:40.000000000 -0600
+++ trilinos-13.0.0-new/packages/kokkos/cmake/kokkos_arch.cmake 2020-10-13 08:08:27.000000000 -0600
@@ -296,6 +296,14 @@
)
ENDIF()
+# From https://github.com/kokkos/kokkos/pull/2977/commits/9f6f9f8ecd320470d25e0094603c0255ff6afb40
+# Clang needs mcx16 option enabled for Windows atomic functions
+IF (CMAKE_CXX_COMPILER_ID STREQUAL Clang AND WIN32)
+ COMPILER_SPECIFIC_FLAGS(
+ Clang -mcx16
+ )
+ENDIF()
+
#Right now we cannot get the compiler ID when cross-compiling, so just check
#that HIP is enabled
IF (Kokkos_ENABLE_HIP)
diff -ruN trilinos-13.0.0/packages/kokkos/core/src/Kokkos_Macros.hpp trilinos-13.0.0-new/packages/kokkos/core/src/Kokkos_Macros.hpp
--- trilinos-13.0.0/packages/kokkos/core/src/Kokkos_Macros.hpp 2020-08-05 19:22:40.000000000 -0600
+++ trilinos-13.0.0-new/packages/kokkos/core/src/Kokkos_Macros.hpp 2020-10-13 08:08:27.000000000 -0600
@@ -633,8 +633,10 @@
#define KOKKOS_ATTRIBUTE_NODISCARD
#endif
-#if defined(KOKKOS_COMPILER_GNU) || defined(KOKKOS_COMPILER_CLANG) || \
- defined(KOKKOS_COMPILER_INTEL) || defined(KOKKOS_COMPILER_PGI)
+// From https://github.com/kokkos/kokkos/pull/2977/commits/9f6f9f8ecd320470d25e0094603c0255ff6afb40
+#if (defined(KOKKOS_COMPILER_GNU) || defined(KOKKOS_COMPILER_CLANG) || \
+ defined(KOKKOS_COMPILER_INTEL) || defined(KOKKOS_COMPILER_PGI)) && \
+ !defined(KOKKOS_COMPILER_MSVC)
#define KOKKOS_IMPL_ENABLE_STACKTRACE
#define KOKKOS_IMPL_ENABLE_CXXABI
#endif
diff -ruN trilinos-13.0.0/packages/shylu/shylu_node/hts/src/shylu_hts_impl_def.hpp trilinos-13.0.0-new/packages/shylu/shylu_node/hts/src/shylu_hts_impl_def.hpp
--- trilinos-13.0.0/packages/shylu/shylu_node/hts/src/shylu_hts_impl_def.hpp 2020-08-05 19:22:40.000000000 -0600
+++ trilinos-13.0.0-new/packages/shylu/shylu_node/hts/src/shylu_hts_impl_def.hpp 2020-10-13 08:08:40.000000000 -0600
@@ -104,11 +104,11 @@
T* c, blas_int ldc);
extern "C" {
- void F77_BLAS_MANGLE(sgemm,SGEMM)(
+ int F77_BLAS_MANGLE(sgemm,SGEMM)(
const char*, const char*, const blas_int*, const blas_int*, const blas_int*,
const float*, const float*, const blas_int*, const float*, const blas_int*,
const float*, float*, const blas_int*);
- void F77_BLAS_MANGLE(dgemm,DGEMM)(
+ int F77_BLAS_MANGLE(dgemm,DGEMM)(
const char*, const char*, const blas_int*, const blas_int*, const blas_int*,
const double*, const double*, const blas_int*, const double*, const blas_int*,
const double*, double*, const blas_int*);
diff -ruN trilinos-13.0.0/packages/xpetra/sup/Utils/Xpetra_MatrixMatrix.hpp trilinos-13.0.0-new/packages/xpetra/sup/Utils/Xpetra_MatrixMatrix.hpp
--- trilinos-13.0.0/packages/xpetra/sup/Utils/Xpetra_MatrixMatrix.hpp 2020-08-05 19:22:40.000000000 -0600
+++ trilinos-13.0.0-new/packages/xpetra/sup/Utils/Xpetra_MatrixMatrix.hpp 2020-10-13 08:08:27.000000000 -0600
@@ -59,7 +59,7 @@
#include "Xpetra_StridedMapFactory.hpp"
#include "Xpetra_StridedMap.hpp"
-#include <execinfo.h>
+// #include <execinfo.h>
#ifdef HAVE_XPETRA_EPETRA
#include <Xpetra_EpetraCrsMatrix_fwd.hpp>
More information about the Trilinos-Users
mailing list