This is an archive of the discontinued LLVM Phabricator instance.

[test-suite] Add sollve_vv external project.
ClosedPublic

Authored by Meinersbur on Nov 10 2019, 10:15 PM.

Details

Summary

sollve_vv is the OpenMP Validation & Verification suite to test conformance to with the OpenMP specification.

It is included as an external benchmark, i.e. some work is required before it is enabled, for instance setting TEST_SUITE_SOLLVEVV_ROOT to the downloaded source repository. OpenMP is detected using CMake's find_package(OpenMP).

Unfortunately, it does not detect additional flags required for offloading which have to be set manually. The current defaults are the ones I used to successfully offload to NVidia's V100 GPU with clang. I am open to discuss what the default should be or whether we should have a compiler/platform introspection. sollve_vv's own makefile use a default set of flags per compiler executable name.

Event Timeline

Meinersbur created this revision.Nov 10 2019, 10:15 PM
Herald added a project: Restricted Project. · View Herald TranscriptNov 10 2019, 10:15 PM
Herald added a subscriber: mgorny. · View Herald Transcript

Thanks for patch! It will be great to have this setup available.

Could you add a short README with what the sollve suite is and a quick example for building and controlling the offload flags.

External/CMakeLists.txt
7

From what I understand the sollve benchmarks are less useful for performance benchmarking, please consider wrapping this add_subdirectory with if(NOT TEST_SUITE_BENCHMARKING_ONLY) unless I'm mistaken.

External/sollve_vv/CMakeLists.txt
54

It would be nice to be able to checkout the suite into this directory and have it picked up automatically. I don't know enough about the other external suites to know if this should be put into the llvm_externals_find logic. We could add

if( NOT TEST_SUITE_SOLLVEVV_ROOT)
  if( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/sollve_vv")
    set(TEST_SUITE_SOLLVEVV_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/sollve_vv")
  endif()
endif()
Meinersbur marked 2 inline comments as done.
Meinersbur retitled this revision from [test-suite] Add sollve_vv external project. to [test-suite] Add sollve_vv external project..
  • Address @bhomerdin's review:
    • Add README
    • Respect TEST_SUITE_BENCHMARKING_ONLY
External/sollve_vv/CMakeLists.txt
54

The test-suite has a standard way to look for external source files. See the command llvm_externals_find in cmake/modules/External.cmake. I also added it to the README.

homerdin accepted this revision.Nov 18 2019, 4:33 PM

LGTM, thanks.

This revision is now accepted and ready to land.Nov 18 2019, 4:33 PM