Fix compilation with MPI and CUDA.

This commit is contained in:
andreili 2023-06-25 00:01:28 +02:00
parent ceeadc8ec3
commit c5c6b1afdc
4 changed files with 17 additions and 48 deletions

View File

@ -1,3 +1,3 @@
AUX cuda_fix.patch 554 BLAKE2B f0609fd0faf38a8bfc15da8ad12c66070f9de6d9f1e1c3748903d1b5fd61ef401c3a0f149a7502b29d9fdd5d8054d0a7367a41734d8e76dbafd5f304a72429f2 SHA512 1c30ca126e4328e86a4fc10f1de9b7686ceca1403b2892f95b0b110df8becfd07540912d0bc6bc92726d1890157d7c8e137db2bad16e37057c2a4c9a42c22c7b AUX cuda_fix.patch 554 BLAKE2B f0609fd0faf38a8bfc15da8ad12c66070f9de6d9f1e1c3748903d1b5fd61ef401c3a0f149a7502b29d9fdd5d8054d0a7367a41734d8e76dbafd5f304a72429f2 SHA512 1c30ca126e4328e86a4fc10f1de9b7686ceca1403b2892f95b0b110df8becfd07540912d0bc6bc92726d1890157d7c8e137db2bad16e37057c2a4c9a42c22c7b
AUX install_fix.patch 5981 BLAKE2B c2b4a069e82ff5d06967c517934856565d4110f139f4e47a84d45cbc021a7a4e207cb3500fe9a75ae1ce7c958aba78c82c9a1920d65be1d9d98adffee6d44f41 SHA512 3a50ad0def026700993d6d6ad84098d9fd1702c08eea7375bad81854a7af5b94b49914af2e2f1a5e46855c8539df6d22f2aae32a37885f80c51e35505c91c843 AUX install_fix.patch 5981 BLAKE2B c2b4a069e82ff5d06967c517934856565d4110f139f4e47a84d45cbc021a7a4e207cb3500fe9a75ae1ce7c958aba78c82c9a1920d65be1d9d98adffee6d44f41 SHA512 3a50ad0def026700993d6d6ad84098d9fd1702c08eea7375bad81854a7af5b94b49914af2e2f1a5e46855c8539df6d22f2aae32a37885f80c51e35505c91c843
EBUILD xyce-9999.ebuild 2133 BLAKE2B b9140b8cf5142cceb1231833f3e22123adc248c6aa1fdb9f8814282e491adc27e858f2646f1f86293e55d09178992f1bae4403f644049c517b5160dba67ded29 SHA512 abd3923c33633540b9af1c2af456eac959b9436813f8ac43af0e97218e8eed7e08f8e989fc4a13ee39895d8d99e169e658cfc0b247cffe5fb5a3192f912c9986 EBUILD xyce-9999.ebuild 1574 BLAKE2B dea34e5965135c853844c8cc7786dee22296a0593cdfb3615fe272d2725c8caf460523eb54fb87f92aec3b43faac945bb0610c5a262654055cb3c806e2918c03 SHA512 59fffc28fdf6fd4d4396e33b900d23b472a72d2c9b127c7bfb7ff538955524de0bbad5688d0164d154c77de10d281955b0fc0b541ca619df33b4c1f486c029d5

View File

@ -33,32 +33,8 @@ PATCHES=(
"${FILESDIR}"/cuda_fix.patch "${FILESDIR}"/cuda_fix.patch
) )
#src_prepare() {
#./bootstrap
#autoheader
#libtoolize --force --copy
#aclocal -I config
#automake --foreign --add-missing --copy
#autoconf
#autoheader
# eapply_user
# eautoreconf
#}
src_configure() { src_configure() {
#econf \
# LDFLAGS="-L${PREFIX}/lib64/trilinos ${LDFLAGS}" \
# --enable-fftw \
# --enable-stokhos \
# --enable-amesos2 \
# --enable-mpi \
# --enable-superlu \
# --enable-shylu \
# --enable-curl \
# --disable-amd
# ./configure --prefix=/usr
local mycmakeargs=( local mycmakeargs=(
# -DCMAKE_INSTALL_PREFIX=/usr
-DXyce_PARALLEL_MPI="$(usex openmp)" -DXyce_PARALLEL_MPI="$(usex openmp)"
#-DXyce_VERBOSE_LINEAR=True #-DXyce_VERBOSE_LINEAR=True
#-DXyce_DEBUG_CIRCUIT=True #-DXyce_DEBUG_CIRCUIT=True
@ -77,20 +53,13 @@ src_configure() {
fi fi
if use cuda; then if use cuda; then
mycmakeargs+=( mycmakeargs+=(
-DCMAKE_C_COMPILER=gcc
-DCMAKE_CXX_COMPILER=nvcc_wrapper
-DCMAKE_CXX_FLAGS:STRING="-allow-unsupported-compiler" -DCMAKE_CXX_FLAGS:STRING="-allow-unsupported-compiler"
) )
export CXX=nvcc_wrapper export CXX=nvcc_wrapper NVCC_WRAPPER_DEFAULT_COMPILER=${CXX}
fi fi
CPPFLAGS="-std=c++14" cmake_src_configure CPPFLAGS="-std=c++14" cmake_src_configure
} }
#src_install() {
# eninja install
# rm -rf "${D}"/usr/doc
#}
pkg_preinst() { pkg_preinst() {
rm -rf "${D}"/usr/doc rm -rf "${D}"/usr/doc
} }

View File

@ -9,4 +9,4 @@ DIST trilinos-14.0.0.tar.gz 179086187 BLAKE2B 0e0c3e3fa4b88164cd7e90720ec42eb007
DIST trilinos-14.2.0.tar.gz 178867695 BLAKE2B 07ff61775399014091aae9c14ad12a69ab19853bc3489c15775490aa3f6e8ae868ac4e90bf046d10bf1ecb1d5558992f0afb0ce656f947336559fcf10085c038 SHA512 c676ff2b59904dc05a0ff434dd164bc96076999a5851c160c5851c124d3c519dd0cc3f088eba19f2000c7d1c2377f4efb2b2b8f9f3ee641b2180f3b99b28ea0b DIST trilinos-14.2.0.tar.gz 178867695 BLAKE2B 07ff61775399014091aae9c14ad12a69ab19853bc3489c15775490aa3f6e8ae868ac4e90bf046d10bf1ecb1d5558992f0afb0ce656f947336559fcf10085c038 SHA512 c676ff2b59904dc05a0ff434dd164bc96076999a5851c160c5851c124d3c519dd0cc3f088eba19f2000c7d1c2377f4efb2b2b8f9f3ee641b2180f3b99b28ea0b
EBUILD trilinos-13.4.1.ebuild 9560 BLAKE2B bf029cfd7877ab5377dd8ea76eccc7bfac400500ffefcc01fcb78a11e096a17cd0dd140a9e04686d13ee82f33b96dc35795480faae57411e5fad1d016b30c7d4 SHA512 3819f3abf8889a48ab4e62302cfe6018269d13a0505ee057763cdebbf1fd7d3bf0247b81216b89a372a2d1abb38ac6ed49c28ff07ad84a8a32f28f2b107a691b EBUILD trilinos-13.4.1.ebuild 9560 BLAKE2B bf029cfd7877ab5377dd8ea76eccc7bfac400500ffefcc01fcb78a11e096a17cd0dd140a9e04686d13ee82f33b96dc35795480faae57411e5fad1d016b30c7d4 SHA512 3819f3abf8889a48ab4e62302cfe6018269d13a0505ee057763cdebbf1fd7d3bf0247b81216b89a372a2d1abb38ac6ed49c28ff07ad84a8a32f28f2b107a691b
EBUILD trilinos-14.0.0.ebuild 8451 BLAKE2B d0ca1847ca3f964424304eb9c1abb21d96c7406310d8bccf2049b4aa5267c23878b88352bbd7c23640fa63d903ffa024240e29b988645fbb6cf216bd41ab996b SHA512 cb6774f526e18edf8f94c17f5444982181da7bfefcd18befa8204f97c2ec999209aaeaef9e16df3c567537e891aa905121569183873e2b70883609b7cf2b69bb EBUILD trilinos-14.0.0.ebuild 8451 BLAKE2B d0ca1847ca3f964424304eb9c1abb21d96c7406310d8bccf2049b4aa5267c23878b88352bbd7c23640fa63d903ffa024240e29b988645fbb6cf216bd41ab996b SHA512 cb6774f526e18edf8f94c17f5444982181da7bfefcd18befa8204f97c2ec999209aaeaef9e16df3c567537e891aa905121569183873e2b70883609b7cf2b69bb
EBUILD trilinos-14.2.0.ebuild 8702 BLAKE2B 466091ee4bdc6c27d4efedbd253654a5efefeb3007d0e0e3ebc11b880ccd9ac43fa95cd867b95fe42eb83237381c2e1f444b16e205c777b896e9ebd8a9a27e84 SHA512 38ce37748a95fe9256d0766aa325df0589975cd740be141bf59dc9e9c93b1304df9866d81d56a0e3cef3cc4a59b718b7c3b7635993c183eb7d4d061947742fd1 EBUILD trilinos-14.2.0.ebuild 8739 BLAKE2B ba06a4aafb131f33ad55ef233ca279d8453ef5a95b62f57e8f0ac499283e6591746c38ba9d99fd4f34488270ea1783fa153542f80cdd116c107d35b057834b86 SHA512 39b5f448509119cd71526d1b6432e340be36ea5df37b30ee84375c75eb222892f889a0ca6e1578ad458c03c5bfcea58c59ea7ac5328058493827cf0c4d550838

View File

@ -163,7 +163,7 @@ src_configure() {
-DTPL_ENABLE_SuperLU="$(usex superlu)" -DTPL_ENABLE_SuperLU="$(usex superlu)"
-DTPL_ENABLE_TAUCS="$(usex taucs)" -DTPL_ENABLE_TAUCS="$(usex taucs)"
-DTPL_ENABLE_TBB="$(usex tbb)" -DTPL_ENABLE_TBB="$(usex tbb)"
#-DTPL_ENABLE_Thrust="$(usex cuda)" -DTPL_ENABLE_Thrust="$(usex cuda)"
-DTPL_ENABLE_TVMET="$(usex tvmet)" -DTPL_ENABLE_TVMET="$(usex tvmet)"
-DTPL_ENABLE_UMFPACK="$(usex sparse)" -DTPL_ENABLE_UMFPACK="$(usex sparse)"
-DTPL_ENABLE_X11="$(usex X)" -DTPL_ENABLE_X11="$(usex X)"
@ -196,18 +196,6 @@ src_configure() {
-DCMAKE_CXX_FLAGS:STRING="-DSHYLU_NODEBASKER" -DCMAKE_CXX_FLAGS:STRING="-DSHYLU_NODEBASKER"
) )
if use cuda; then
mycmakeargs+=(
-DCMAKE_C_COMPILER=gcc
-DCMAKE_CXX_COMPILER=nvcc_wrapper
-DKokkos_ENABLE_CUDA=ON
-DKokkos_ENABLE_CUDA_LAMBDA=ON
-DKokkos_ARCH_TURING75=ON
-DCMAKE_CXX_FLAGS:STRING="-allow-unsupported-compiler"
)
export CXX=nvcc_wrapper
fi
# #
# Make sure some critical configuration options are always set # Make sure some critical configuration options are always set
# correctly independently of what Trilinos dependency resolver thinks # correctly independently of what Trilinos dependency resolver thinks
@ -259,7 +247,19 @@ src_configure() {
if use openmp; then if use openmp; then
[ ! -z "${CC}"] && export OMPI_CC="${CC}" MPICH_CC="${CC}" && tc-export OMPI_CC MPICH_CC [ ! -z "${CC}"] && export OMPI_CC="${CC}" MPICH_CC="${CC}" && tc-export OMPI_CC MPICH_CC
[ ! -z "${CXX}"] && export OMPI_CXX="${CXX}" MPICH_CXX="${CXX}" && tc-export OMPI_CXX MPICH_CXX [ ! -z "${CXX}"] && export OMPI_CXX="${CXX}" MPICH_CXX="${CXX}" && tc-export OMPI_CXX MPICH_CXX
#export CC=mpicc CXX=mpicxx && tc-export CC CXX export CC=mpicc CXX=mpicxx && tc-export CC CXX
fi
if use cuda; then
mycmakeargs+=(
-DCMAKE_C_COMPILER=gcc
-DCMAKE_CXX_COMPILER=nvcc_wrapper
-DKokkos_ENABLE_CUDA=ON
-DKokkos_ENABLE_CUDA_LAMBDA=ON
#-DKokkos_ARCH_TURING75=ON
#-DCMAKE_CXX_FLAGS:STRING="-allow-unsupported-compiler"
)
export CXX=nvcc_wrapper NVCC_WRAPPER_DEFAULT_COMPILER=${CXX}
fi fi
# Trilinos needs a custom build type: # Trilinos needs a custom build type: