forked from OSchip/llvm-project
[OpenMP][Offloading] Add a CMake argument LIBOMPTARGET_LIT_ARGS to control behavior of libomptarget lit test
By default, `lit` uses all threads to invoke tests, which can easily cause out of memory on GPUs because most of OpenMP offloading test usually take about 1GB GPU memory, but a typical GPU only has 4-8GB memory. This patch introduce a CMake argument `LIBOMPTARGET_LIT_ARGS` to allow users to control the behavior of `libomptarget` tests, similar to `LLVM_LIT_ARGS`. Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D106236
This commit is contained in:
parent
1b61d837b9
commit
954711ed8f
|
@ -300,6 +300,12 @@ Options for ``NVPTX device RTL``
|
||||||
**LIBOMPTARGET_NVPTX_DEBUG** = ``OFF|ON``
|
**LIBOMPTARGET_NVPTX_DEBUG** = ``OFF|ON``
|
||||||
Enable printing of debug messages from the NVPTX device RTL.
|
Enable printing of debug messages from the NVPTX device RTL.
|
||||||
|
|
||||||
|
**LIBOMPTARGET_LIT_ARGS** = ``""``
|
||||||
|
Arguments given to lit. ``make check-libomptarget`` and
|
||||||
|
``make check-libomptarget-*`` are affected. For example, use
|
||||||
|
``LIBOMPTARGET_LIT_ARGS="-j4"`` to force ``lit`` to start only four parallel
|
||||||
|
jobs instead of by default the number of threads in the system.
|
||||||
|
|
||||||
Example Usages of CMake
|
Example Usages of CMake
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,11 @@ endif()
|
||||||
string(REGEX MATCHALL "([^\ ]+\ |[^\ ]+$)" SYSTEM_TARGETS "${LIBOMPTARGET_SYSTEM_TARGETS}")
|
string(REGEX MATCHALL "([^\ ]+\ |[^\ ]+$)" SYSTEM_TARGETS "${LIBOMPTARGET_SYSTEM_TARGETS}")
|
||||||
foreach(CURRENT_TARGET IN LISTS SYSTEM_TARGETS)
|
foreach(CURRENT_TARGET IN LISTS SYSTEM_TARGETS)
|
||||||
string(STRIP "${CURRENT_TARGET}" CURRENT_TARGET)
|
string(STRIP "${CURRENT_TARGET}" CURRENT_TARGET)
|
||||||
add_openmp_testsuite(check-libomptarget-${CURRENT_TARGET} "Running libomptarget tests" ${CMAKE_CURRENT_BINARY_DIR}/${CURRENT_TARGET} DEPENDS omptarget omp ${LIBOMPTARGET_TESTED_PLUGINS})
|
add_openmp_testsuite(check-libomptarget-${CURRENT_TARGET}
|
||||||
|
"Running libomptarget tests"
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/${CURRENT_TARGET}
|
||||||
|
DEPENDS omptarget omp ${LIBOMPTARGET_TESTED_PLUGINS}
|
||||||
|
ARGS ${LIBOMPTARGET_LIT_ARGS})
|
||||||
list(APPEND LIBOMPTARGET_LIT_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CURRENT_TARGET})
|
list(APPEND LIBOMPTARGET_LIT_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CURRENT_TARGET})
|
||||||
|
|
||||||
# Configure the lit.site.cfg.in file
|
# Configure the lit.site.cfg.in file
|
||||||
|
@ -24,4 +28,9 @@ foreach(CURRENT_TARGET IN LISTS SYSTEM_TARGETS)
|
||||||
configure_file(lit.site.cfg.in ${CURRENT_TARGET}/lit.site.cfg @ONLY)
|
configure_file(lit.site.cfg.in ${CURRENT_TARGET}/lit.site.cfg @ONLY)
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
add_openmp_testsuite(check-libomptarget "Running libomptarget tests" ${LIBOMPTARGET_LIT_TESTSUITES} EXCLUDE_FROM_CHECK_ALL DEPENDS omptarget omp ${LIBOMPTARGET_TESTED_PLUGINS})
|
add_openmp_testsuite(check-libomptarget
|
||||||
|
"Running libomptarget tests"
|
||||||
|
${LIBOMPTARGET_LIT_TESTSUITES}
|
||||||
|
EXCLUDE_FROM_CHECK_ALL
|
||||||
|
DEPENDS omptarget omp ${LIBOMPTARGET_TESTED_PLUGINS}
|
||||||
|
ARGS ${LIBOMPTARGET_LIT_ARGS})
|
||||||
|
|
Loading…
Reference in New Issue