hungryfish
Forum Replies Created
-
AuthorPosts
-
hungryfishParticipant
Highly recommended is the example of the configuration of the “nvidia-hpc-sdk” shown in OpenLB Release1.6, see “config/gpu_horeka_nvidiahpc_mixed.mk” (with wrapper for slurm)!
Thanks
hungryfishParticipant‘The reason for only ever getting a single block with this config is given by PARALLEL_MODE := NONE. i.e. MPI is not enabled.’
This basically means that the GPU-only mode is useless for my application. The multi-GPU approach via MPI is then to be aimed for only.
PS
I could clarify the cause of the NaN values. The example is adapted from ‘cylinder3d’ ( correction above)hungryfishParticipantThe run itself on a single NVIDIA A100 works fine.
Compilation for ‘gpu_only’, ! without MPI !, CUDA_ARCH := 80, PARALLEL_MODE := NONEprepareGeometry] Prepare Geometry … OK
[prepareLattice] Prepare Lattice …
[prepareLattice] Prepare Lattice … OK
[main] starting simulation…[Timer] step=7755; percent=1.10059; passedTime=458.053; remTime=41160.6; MLUPs=3508.08
[LatticeStatistics] step=7755; t=1.10059; uMax=1.67154; avEnergy=-nan; avRho=-nanWed Jun 29 17:04:26 2022
+—————————————————————————–+
| NVIDIA-SMI 515.48.07 Driver Version: 515.48.07 CUDA Version: 11.7 |
|——————————-+———————-+———————-+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA A100-SXM… Off | 00000000:0E:00.0 Off | 0 |
| N/A 42C P0 240W / 400W | 64895MiB / 81920MiB | 100% Default |
| | | Disabled |
+——————————-+———————-+———————-+
….
+—————————————————————————–+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 23303 C ./sphereFlow 64893MiB |
+—————————————————————————–+You said ‘the VTK Output logic is independent of the specific platform’ so I will try to search further ..
hungryfishParticipantSorry, its only preliminary:
I modified the code borrowed by ‘cavity3d’ which is belonging to the set of GPU-enabled examples in OpenLB 1.5 (page 141). If I ran the code on a CPU-cluster, the expected multi-block dataset (e.g. 0-125) is shown as expected in paraview, else, on GPU the block hierarchy only consists of block 0.hungryfishParticipantWhat is the reason for if the Multi-block inspector in Paraview only shows me the hierarchy for Block 0? The file (data set) which was loaded is tmp/vtkData/name.pvd.
hungryfishParticipantFor the RedHat7 the devtoolset-10 environment is a suitable environment.
poiseuille2d]$ gcc –version
gcc (GCC) 10.2.1 20200804 (Red Hat 10.2.1-2)I was able to compile an run
[simulatePoiseuille] Simulation converged.
[Timer] step=46192; percent=61.5893; passedTime=21.509; remTime=13.4143; MLUPs=9.69983
[LatticeStatistics] step=46192; t=18.4768; uMax=0.0199918; avEnergy=0.000104468; avRho=1
[error] velocity-L1-error(abs)=0.00081448; velocity-L1-error(rel)=0.000605054
[error] velocity-L2-error(abs)=0.000578884; velocity-L2-error(rel)=0.000557721
[error] velocity-Linf-error(abs)=0.000411441; velocity-Linf-error(rel)=0.000411441
[error] strainRate-L1-error(abs)=0.00121289; strainRate-L1-error(rel)=0.00031273
[error] strainRate-L2-error(abs)=0.00108305; strainRate-L2-error(rel)=0.000481107
[error] strainRate-Linf-error(abs)=0.0019656; strainRate-Linf-error(rel)=0.00102375
[Timer]
[Timer] —————-Summary:Timer—————-
[Timer] measured time (rt) : 21.523s
[Timer] measured time (cpu): 21.460s
[Timer] average MLUPs : 11.055
[Timer] average MLUPps: 11.055
[Timer] ———————————————
[lindne03@e84158 poiseuille2d]$and
At Spring School wil be WLAN possible for each participant?Thanks
hungryfishParticipant[lindne03@e84158 olb-1.5r0]$ g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure –prefix=/usr –mandir=/usr/share/man –infodir=/usr/share/info –with-bugurl=http://bugzilla.redhat.com/bugzilla –enable-bootstrap –enable-shared –enable-threads=posix –enable-checking=release –with-system-zlib –enable-__cxa_atexit –disable-libunwind-exceptions –enable-gnu-unique-object –enable-linker-build-id –with-linker-hash-style=gnu –enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto –enable-plugin –enable-initfini-array –disable-libgcj –with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install –with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install –enable-gnu-indirect-function –with-tune=generic –with-arch_32=x86-64 –build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)I adjusted USE_EMBEDDED_DEPENDENCIES accordingly.
ok
I try to provide gcc 9hungryfishParticipantThanks Adrian,
I repeated the same on an actual RedHat Linux, there are similar difficulties with ‘nullptr’
olb-1.5r0]$ make
make -C external
make[1]: Entering directory `/home2/lindne03/olb-1.5r0/external’
make -C zlib
make[2]: Entering directory `/home2/lindne03/olb-1.5r0/external/zlib’
cc -c -o build/adler32.o ./adler32.c
cc -c -o build/crc32.o ./crc32.c
cc -c -o build/deflate.o ./deflate.c
cc -c -o build/infback.o ./infback.c
cc -c -o build/inffast.o ./inffast.c
cc -c -o build/inflate.o ./inflate.c
cc -c -o build/inftrees.o ./inftrees.c
cc -c -o build/trees.o ./trees.c
cc -c -o build/zutil.o ./zutil.c
cc -c -o build/compress.o ./compress.c
cc -c -o build/uncompr.o ./uncompr.c
cc -c -o build/gzclose.o ./gzclose.c
cc -c -o build/gzlib.o ./gzlib.c
cc -c -o build/gzread.o ./gzread.c
cc -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 `/home2/lindne03/olb-1.5r0/external/zlib’
cp zlib/build/libz.a lib/
make -C tinyxml
make[2]: Entering directory `/home2/lindne03/olb-1.5r0/external/tinyxml’
g++ -c tinystr.cpp -o build/tinystr.o
In file included from tinystr.cpp:32:0:
tinystr.h: In copy constructor ‘TiXmlString::TiXmlString(const TiXmlString&)’:
tinystr.h:82:50: error: ‘nullptr’ was not declared in this scope
TiXmlString ( const TiXmlString & copy) : rep_(nullptr)
^
tinystr.h: In constructor ‘TiXmlString::TiXmlString(const char*)’:
tinystr.h:89:58: error: ‘nullptr’ was not declared in this scope
TIXML_EXPLICIT TiXmlString ( const char * copy) : rep_(nullptr)
^
tinystr.h: In constructor ‘TiXmlString::TiXmlString(const char*, TiXmlString::size_type)’:
tinystr.h:96:72: error: ‘nullptr’ was not declared in this scope
TIXML_EXPLICIT TiXmlString ( const char * str, size_type len) : rep_(nullptr)
^
make[2]: *** [build/tinystr.o] Error 1
make[2]: Leaving directory `/home2/lindne03/olb-1.5r0/external/tinyxml’
make[1]: *** [tinyxml] Error 2
make[1]: Leaving directory `/home2/lindne03/olb-1.5r0/external’
make: *** [dependencies] Error 2
[lindne03@e84158 olb-1.5r0]$olb-1.5r0]$ rpm -qa | grep tiny
tinyxml-2.6.2-3.el7.x86_64 -
AuthorPosts