1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
List of OpenMP device offloading ARKODE C examples
ark_analytic_nonlin_ompdev : simple nonstiff, nonlinear ODE (ERK)
ark_heat1D_ompdev : stiff 1D heat PDE example (DIRK/PCG)
ark_heat1D_adapt_ompdev : stiff 1D heat PDE, adaptive mesh (DIRK/PCG/ARKodeResize)
Sample results:
SUNDIALS was built with OpenMP enabled, and the example output was run using
LLNL LC's wrapped xlc compiler for gpu program compilation: xlc-gpu
The following CMake command was used to configure SUNDIALS:
cmake \
-DCMAKE_C_COMPILER=xlc-gpu \
-DBUILD_ARKODE=ON \
-DBUILD_CVODE=ON \
-DBUILD_CVODES=ON \
-DBUILD_IDA=ON \
-DBUILD_IDAS=ON \
-DBUILD_KINSOL=ON \
-DBUILD_SHARED_LIBS=OFF \
-DBUILD_STATIC_LIBS=ON \
-DBUILD_TESTING=ON \
-DCMAKE_INSTALL_PREFIX=/usr/local/sundials \
-DEXAMPLES_ENABLE_C=ON \
-DEXAMPLES_INSTALL_PATH=/user/local/sundials/examples \
-DEXAMPLES_INSTALL=ON \
-DENABLE_OPENMP=ON \
-DENABLE_OPENMP_DEVICE=ON \
-DOPENMP_DEVICE_WORKS=ON \
-DSUNDIALS_INDEX_SIZE=64 \
-DSUNDIALS_PRECISION=double \
../sundials
System Architecture: ppc64le
Processor Type: IBM POWER8 @ 2.5GHz
Operating System: Red Hat 7.3
C Compiler: xlc-gpu
|