Reply To: Multi GPUs Calculation
OpenLB – Open Source Lattice Boltzmann Code › Forums › on OpenLB › General Topics › Multi GPUs Calculation › Reply To: Multi GPUs Calculation
Dear Adrian,
Thank you.
when compiled config.mk, it seems not reading -L/home/ubuntu2204/opt/openmpi/lib (LDFLAGS).
what files shoud I modify?
My config.mk is
`
`
CXX := nvcc
CC := nvcc
CXXFLAGS := -O3
CXXFLAGS += -std=c++17
CXXFLAGS += -I/home/ubuntu2204/opt/openmpi/include
LDFLAGS := -L/home/ubuntu2204/opt/openmpi/lib
PARALLEL_MODE := MPI
MPIFLAGS := -lmpi_cxx -lmpi
PLATFORMS := CPU_SISD GPU_CUDA
# for e.g. RTX 30* (Ampere), see table in rules.mk
for other options
CUDA_ARCH := 86
FLOATING_POINT_TYPE := float
USE_EMBEDDED_DEPENDENCIES := ON
`
`
And compiled config.mk output is
`
`
$ make clean;make
make CXX=nvcc CC=nvcc -C external clean
make[1]: Entering directory ‘/mnt/c/Users/shimo/Code_SMJM/olb-1.6r0/external’
make -C zlib clean
make[2]: Entering directory ‘/mnt/c/Users/shimo/Code_SMJM/olb-1.6r0/external/zlib’
make[2]: Leaving directory ‘/mnt/c/Users/shimo/Code_SMJM/olb-1.6r0/external/zlib’
make -C tinyxml clean
make[2]: Entering directory ‘/mnt/c/Users/shimo/Code_SMJM/olb-1.6r0/external/tinyxml’
make[2]: Leaving directory ‘/mnt/c/Users/shimo/Code_SMJM/olb-1.6r0/external/tinyxml’
rm -f lib/libz.a lib/libtinyxml.a
make[1]: Leaving directory ‘/mnt/c/Users/shimo/Code_SMJM/olb-1.6r0/external’
rm -f src/communication/mpiManager.o src/communication/ompManager.o src/core/olbInit.o src/io/ostreamManager.o
rm -f build/lib/libolbcore.a
make CXX=nvcc CC=nvcc -C external
make[1]: Entering directory ‘/mnt/c/Users/shimo/Code_SMJM/olb-1.6r0/external’
make -C zlib
make[2]: Entering directory ‘/mnt/c/Users/shimo/Code_SMJM/olb-1.6r0/external/zlib’
nvcc -c -o build/adler32.o ./adler32.c
nvcc -c -o build/crc32.o ./crc32.c
nvcc -c -o build/deflate.o ./deflate.c
nvcc -c -o build/infback.o ./infback.c
nvcc -c -o build/inffast.o ./inffast.c
nvcc -c -o build/inflate.o ./inflate.c
nvcc -c -o build/inftrees.o ./inftrees.c
nvcc -c -o build/trees.o ./trees.c
nvcc -c -o build/zutil.o ./zutil.c
nvcc -c -o build/compress.o ./compress.c
nvcc -c -o build/uncompr.o ./uncompr.c
nvcc -c -o build/gzclose.o ./gzclose.c
nvcc -c -o build/gzlib.o ./gzlib.c
nvcc -c -o build/gzread.o ./gzread.c
nvcc -c -o build/gzwrite.o ./gzwrite.c
ar rc build//libz.a ./build/adler32.o ./build/crc32.o ./build/deflate.o ./build/infback.o ./build/inffast.o ./build/inflate.o ./build/inftrees.o ./build/trees.o ./build/zutil.o ./build/compress.o ./build/uncompr.o ./build/gzclose.o ./build/gzlib.o ./build/gzread.o ./build/gzwrite.o
make[2]: Leaving directory ‘/mnt/c/Users/shimo/Code_SMJM/olb-1.6r0/external/zlib’
cp zlib/build/libz.a lib/
make -C tinyxml
make[2]: Entering directory ‘/mnt/c/Users/shimo/Code_SMJM/olb-1.6r0/external/tinyxml’
nvcc -c tinystr.cpp -o build/tinystr.o
nvcc -c tinyxml.cpp -o build/tinyxml.o
nvcc -c tinyxmlerror.cpp -o build/tinyxmlerror.o
nvcc -c tinyxmlparser.cpp -o build/tinyxmlparser.o
ar rc build/libtinyxml.a ./build/tinystr.o ./build/tinyxml.o ./build/tinyxmlerror.o ./build/tinyxmlparser.o
make[2]: Leaving directory ‘/mnt/c/Users/shimo/Code_SMJM/olb-1.6r0/external/tinyxml’
cp tinyxml/build/libtinyxml.a lib/
make[1]: Leaving directory ‘/mnt/c/Users/shimo/Code_SMJM/olb-1.6r0/external’
nvcc -O3 -std=c++17 -I/home/ubuntu2204/opt/openmpi/include -pthread -DPARALLEL_MODE_MPI -lmpi_cxx -lmpi –forward-unknown-to-host-compiler -x cu -O3 -std=c++17 –generate-code=arch=compute_86,code=[compute_86,sm_86] –extended-lambda –expt-relaxed-constexpr -rdc=true -Xcudafe “–diag_suppress=implicit_return_from_non_void_function –display_error_number –diag_suppress=20014 –diag_suppress=20011” -DPLATFORM_CPU_SISD -DPLATFORM_GPU_CUDA -DDEFAULT_FLOATING_POINT_TYPE=float -fPIC -Isrc/ -c src/communication/mpiManager.cpp -o src/communication/mpiManager.o
nvcc -O3 -std=c++17 -I/home/ubuntu2204/opt/openmpi/include -pthread -DPARALLEL_MODE_MPI -lmpi_cxx -lmpi –forward-unknown-to-host-compiler -x cu -O3 -std=c++17 –generate-code=arch=compute_86,code=[compute_86,sm_86] –extended-lambda –expt-relaxed-constexpr -rdc=true -Xcudafe “–diag_suppress=implicit_return_from_non_void_function –display_error_number –diag_suppress=20014 –diag_suppress=20011” -DPLATFORM_CPU_SISD -DPLATFORM_GPU_CUDA -DDEFAULT_FLOATING_POINT_TYPE=float -fPIC -Isrc/ -c src/communication/ompManager.cpp -o src/communication/ompManager.o
nvcc -O3 -std=c++17 -I/home/ubuntu2204/opt/openmpi/include -pthread -DPARALLEL_MODE_MPI -lmpi_cxx -lmpi –forward-unknown-to-host-compiler -x cu -O3 -std=c++17 –generate-code=arch=compute_86,code=[compute_86,sm_86] –extended-lambda –expt-relaxed-constexpr -rdc=true -Xcudafe “–diag_suppress=implicit_return_from_non_void_function –display_error_number –diag_suppress=20014 –diag_suppress=20011” -DPLATFORM_CPU_SISD -DPLATFORM_GPU_CUDA -DDEFAULT_FLOATING_POINT_TYPE=float -fPIC -Isrc/ -c src/core/olbInit.cpp -o src/core/olbInit.o
nvcc -O3 -std=c++17 -I/home/ubuntu2204/opt/openmpi/include -pthread -DPARALLEL_MODE_MPI -lmpi_cxx -lmpi –forward-unknown-to-host-compiler -x cu -O3 -std=c++17 –generate-code=arch=compute_86,code=[compute_86,sm_86] –extended-lambda –expt-relaxed-constexpr -rdc=true -Xcudafe “–diag_suppress=implicit_return_from_non_void_function –display_error_number –diag_suppress=20014 –diag_suppress=20011” -DPLATFORM_CPU_SISD -DPLATFORM_GPU_CUDA -DDEFAULT_FLOATING_POINT_TYPE=float -fPIC -Isrc/ -c src/io/ostreamManager.cpp -o src/io/ostreamManager.o
ar rc build/lib/libolbcore.a src/communication/mpiManager.o src/communication/ompManager.o src/core/olbInit.o src/io/ostreamManager.o
`
`