Help Needed: Running OpenLB 1.7 on single GPU
OpenLB – Open Source Lattice Boltzmann Code › Forums › on OpenLB › General Topics › Help Needed: Running OpenLB 1.7 on single GPU
- This topic has 1 reply, 2 voices, and was last updated 4 months, 4 weeks ago by Adrian.
-
AuthorPosts
-
July 12, 2024 at 1:59 am #8902jerryswjtuParticipant
Hello everyone,
I am currently using OpenLB 1.7, and interested in running it on a single GPU. However, I am encountering some difficulties and would greatly appreciate any guidance or assistance from the community.
Here are the details of my setup and the issues I am facing:
System Configuration:
Operating System: Ubuntu 20.04.6 LTS
GPU: RTX 4060
CUDA Version: 12.1 (also try 11.4 and 11.7, but none of these works)
OpenLB Version: 1.7Installation Process:
config.mk (based on gpu_only.mk):
CXX := nvcc
CC := nvccCXXFLAGS := -O3
CXXFLAGS += -std=c++17 –forward-unknown-to-host-compilerPARALLEL_MODE := NONE
PLATFORMS := CPU_SISD GPU_CUDA
CUDA_ARCH := 89 (also try 87 86 75, none of these works)
FLOATING_POINT_TYPE := float
USE_EMBEDDED_DEPENDENCIES := ON
Error logs:
nvcc –version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Mon_Apr__3_17:16:06_PDT_2023
Cuda compilation tools, release 12.1, V12.1.105
Build cuda_12.1.r12.1/compiler.32688072_0test@pc:~/openlb/release-1.7/examples/laminar/cavity3dBenchmark$ make clean && make && ./cavity3d
rm -f tmp/*.* tmp/vtkData/*.* tmp/vtkData/data/*.* tmp/imageData/*.* tmp/imageData/data/*.* tmp/gnuplotData/*.* tmp/gnuplotData/data/*.*
rm -f cavity3d.o cavity3d.d cavity3d
make -C ../../../external
make[1]: Entering directory ‘/home/test/openlb/release-1.7/external’
make -C zlib
make[2]: Entering directory ‘/home/test/openlb/release-1.7/external/zlib’
make[2]: Nothing to be done for ‘all’.
make[2]: Leaving directory ‘/home/test/openlb/release-1.7/external/zlib’
cp zlib/build/libz.a lib/make -C tinyxml
make[2]: Entering directory ‘/home/test/openlb/release-1.7/external/tinyxml’
make[2]: Nothing to be done for ‘all’.
make[2]: Leaving directory ‘/home/test/openlb/release-1.7/external/tinyxml’
cp tinyxml/build/libtinyxml.a lib/
make[1]: Leaving directory ‘/home/test/openlb/release-1.7/external’
make -C ../../.. core
make[1]: Entering directory ‘/home/test/openlb/release-1.7’
make[1]: Nothing to be done for ‘core’.
make[1]: Leaving directory ‘/home/test/openlb/release-1.7’
nvcc -O3 -std=c++17 –forward-unknown-to-host-compiler -pthread –forward-unknown-to-host-compiler -x cu -O3 -std=c++17 –generate-code=arch=compute_89,code=[compute_89,sm_89] –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 -I../../../src -I../../../external/zlib -I../../../external/tinyxml -c -o cavity3d.o cavity3d.cpp
../../../src/utilities/typeIndexedContainers.h(189): warning #20012-D: __device__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration
TypeIndexedTuple() __attribute__((device)) __attribute__((host)) = default;
^
Remark: The warnings can be suppressed with “-diag-suppress <warning-number>”../../../src/utilities/typeIndexedContainers.h(189): warning #20012-D: __host__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration
TypeIndexedTuple() __attribute__((device)) __attribute__((host)) = default;
^
../../../src/utilities/typeIndexedContainers.h(190): warning #20012-D: __device__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration
TypeIndexedTuple(TypeIndexedTuple&) __attribute__((device)) __attribute__((host)) = default;
^
../../../src/utilities/typeIndexedContainers.h(190): warning #20012-D: __host__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration
TypeIndexedTuple(TypeIndexedTuple&) __attribute__((device)) __attribute__((host)) = default;
^
../../../src/utilities/typeIndexedContainers.h(191): warning #20012-D: __device__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration
TypeIndexedTuple(TypeIndexedTuple&& rhs) __attribute__((device)) __attribute__((host)) = default;
^
../../../src/utilities/typeIndexedContainers.h(191): warning #20012-D: __host__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration
TypeIndexedTuple(TypeIndexedTuple&& rhs) __attribute__((device)) __attribute__((host)) = default;
^
../../../src/utilities/typeIndexedContainers.h(189): warning #20012-D: __device__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration
TypeIndexedTuple() __attribute__((device)) __attribute__((host)) = default;
^
Remark: The warnings can be suppressed with “-diag-suppress <warning-number>”../../../src/utilities/typeIndexedContainers.h(189): warning #20012-D: __host__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration
TypeIndexedTuple() __attribute__((device)) __attribute__((host)) = default;
^
../../../src/utilities/typeIndexedContainers.h(190): warning #20012-D: __device__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration
TypeIndexedTuple(TypeIndexedTuple&) __attribute__((device)) __attribute__((host)) = default;
^
../../../src/utilities/typeIndexedContainers.h(190): warning #20012-D: __host__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration
TypeIndexedTuple(TypeIndexedTuple&) __attribute__((device)) __attribute__((host)) = default;
^
../../../src/utilities/typeIndexedContainers.h(191): warning #20012-D: __device__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration
TypeIndexedTuple(TypeIndexedTuple&& rhs) __attribute__((device)) __attribute__((host)) = default;
^
../../../src/utilities/typeIndexedContainers.h(191): warning #20012-D: __host__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration
TypeIndexedTuple(TypeIndexedTuple&& rhs) __attribute__((device)) __attribute__((host)) = default;
^
nvcc cavity3d.o -o cavity3d -lolbcore -L../../../external/lib -lpthread -lz -ltinyxml -lcuda -lcudadevrt -lcudart -L../../../build/lib
nvlink warning : SM Arch (‘sm_52’) not found in ‘cavity3d.o’
100, 100, 1, 1, 1, 792.539When I execute the compiled cavity3d, it just shows ‘100, 100, 1, 1, 1, 792.539’ and exit without any other output.
Thanks a lot in advance for any help and support. I look forward to any advice or recommendations.Best regards,
JerryJuly 12, 2024 at 6:11 am #8903AdrianKeymasterThis is all working, the output you get is structured as CSV for use in scalability benchmark scripts. If your try another example this will be different.
-
AuthorPosts
- You must be logged in to reply to this topic.