OpenMP-Validation-and-Verification / OpenMP_VV

OpenMP Offloading Validation & Verification Suite; Official repository. We have migrated from bitbucket!! For documentation, results, publication and presentations, please check out our website ->
https://crpl.cis.udel.edu/ompvvsollve/
Other
54 stars 19 forks source link

Adding USM based tests #751

Closed lthakur007 closed 1 year ago

lthakur007 commented 1 year ago

Please review... THANK YOU!!

seyonglee commented 1 year ago

[Summit Results on July 12, 2023]

lthakur007 commented 1 year ago

Hi @seyonglee, Could you please provided details of the setup wherein the tests are failing. It will help us to do some comparison and reason out the issue. All these tests are passing on our local setup. Sample terminal output is pasted below. Details we are looking for: a) rocm version b) clang++ version c) compile command with all the compiler options being added d) GPU name e) OS

[Summit Results on July 12, 2023]

  • GCC 13.1.1:
    • test_target_struct_obj_access.cpp
    • C++ test failed: lto1: internal compiler error: Segmentation fault 0x10893533 crash_signal /autofs/nccs-svm1_proj/stf010/elwasif/gccbuild/src/gcc/gcc/toplev.cc:314
    • test_target_PureVirDestr.cpp
    • C++ test failed: error: alias definitions not supported in this configuration 36 | base::~base() { | ^
  • LLVM 17.0.0:

Our local setup with MI200 gpu output: Compile command: /opt/rocm/llvm/bin/clang++ -O2 -fopenmp --offload-arch=gfx90a -fopenmp-version=52 test_target_struct_obj_access.cpp ./a.out [OMPVV_RESULT: test_target_struct_obj_access.cpp] Test passed on the device.

Local setup details: a) rocm version : 5.7 b) clang++ version : AMD clang version 17.0.0 c) GPU name: gfx90a e) OS: Ubuntu 20.04.4 LTS

seyonglee commented 1 year ago

Hi @seyonglee, Could you please provided details of the setup wherein the tests are failing. It will help us to do some comparison and reason out the issue. All these tests are passing on our local setup. Sample terminal output is pasted below. Details we are looking for: a) rocm version b) clang++ version c) compile command with all the compiler options being added d) GPU name e) OS

I ran the test on the Summit Supercomputer, where each node consists of two Power 9 CPUs and four NVIDIA V100 GPUs. Therefore, I don't use ROCm. As you can see in the results, LLVM/Clang V17.0.0 passes the test, but other compilers (GCCV13.1.1, XL 16.1.1-10, NVHPC 22.11) failed. To reproduce the results, you can use the provided V&V script; for example, to compile using GCCV13.1.1, do the following steps on a Summit node: $ module use /sw/summit/modulefiles/ums/stf010/Core $ module load gcc/13.1.1-latest $ make CC=gcc CXX=g++ FC=none LOG=1 LOG_ALL=1 all DEVICE_TYPE=nvidia VERBOSE_TESTS=1 VERBOSE=1 OMP_VERSION=5.2 SOURCES=tests/5.2/unified_shared_mem/test_target_struct_obj_access.cpp

spophale commented 1 year ago

@lthakur007 , please could you use omp_get_default_device() instead of trying to offload to device "0" ?

spophale commented 1 year ago

@fel-cab will make changes and test.