[Libomptarget] Build the device library even if the sm list is empty
authorJoseph Huber <jhuber6@vols.utk.edu>
Thu, 21 Jul 2022 13:34:58 +0000 (09:34 -0400)
committerJoseph Huber <jhuber6@vols.utk.edu>
Thu, 21 Jul 2022 14:57:47 +0000 (10:57 -0400)
We previously had some logic that stopped us from building the device runtime if
there were no NVPTX architectures provided. This is incorrect because we could
have AMDGPU libraries. Even if the lists are empty we should be able to attempt
to build these and get dummy output. THis wilil make it much easier for our
tooling which expects certain libraries. If the user wishes to disable the
library entirely they should use `-DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB=OFF"

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D130266

openmp/libomptarget/DeviceRTL/CMakeLists.txt

index 8fd5620..3ac3f59 100644 (file)
@@ -79,13 +79,6 @@ else()
   string(REPLACE "," ";" nvptx_sm_list "${LIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES}")
 endif()
 
-# If user set LIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES to empty, we disable the
-# build.
-if (NOT nvptx_sm_list)
-  libomptarget_say("Not building CUDA offloading DeviceRTL: empty compute capability list")
-  return()
-endif()
-
 # Check all SM values
 foreach(sm ${nvptx_sm_list})
   if (NOT ${sm} IN_LIST all_capabilities)