<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:-webkit-standard;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:12.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:12.0pt;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt">Hello,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">I am trying to build clang-13 with support for OpenMP target offload to Nvidia GPUS.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">I can build clang, but it stubbornly refuses to build the openmpRTL, I get this in the cmake output:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">- Could NOT find LIBOMPTARGET_DEP_VEO (missing: LIBOMPTARGET_DEP_VEO_LIBRARIES LIBOMPTARGET_DEP_VEOSINFO_LIBRARIES LIBOMPTARGET_DEP_V<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">EO_INCLUDE_DIRS) <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">-- LIBOMPTARGET: Building offloading runtime library libomptarget.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">-- LIBOMPTARGET: Not building aarch64 offloading plugin: machine not found in the system.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">-- LIBOMPTARGET: Building AMDGPU plugin for dlopened libhsa<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">-- LIBOMPTARGET: Not generating amdgcn test targets as amdgpu-arch is not found<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">-- LIBOMPTARGET: Building CUDA offloading plugin.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">-- LIBOMPTARGET: Building CUDA plugin linked against libcuda<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">-- LIBOMPTARGET: Enable tests using CUDA plugin<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">-- LIBOMPTARGET: Not building PPC64 offloading plugin: machine not found in the system.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">-- LIBOMPTARGET: Not building PPC64le offloading plugin: machine not found in the system.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">-- LIBOMPTARGET: Not building nec-aurora plugin: libveo or libveosinfo not found.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">-- LIBOMPTARGET: Not building x86_64 offloading plugin: libffi dependency not found.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">-- LIBOMPTARGET: Building AMDGCN device RTL. Using clang from in-tree build<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt">-- LIBOMPTARGET: Not building NVPTX deviceRTL: clang not found<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt">-- LIBOMPTARGET: Not building NVPTX deviceRTL: clang not found<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size:11.0pt">-- LIBOMPTARGET: Building the llvm-omp-device-info tool<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">So, it wants an existig clang. I already have a clang built, I tried to use the old clang rather than gcc, but that lead to other errors.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">The AMDGCM RTL is built using the in-tree clang. Is there a way to do the same for nvptx?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">I has also tried a 2-step approach, building the deviceRTL seperately, but then it complaints about some previously built tools.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">Have you encountered such a situation before and can maybe provide some guidance?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">Here is the cmake I am using:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">CMAKE_OPTIONS="\<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DLLVM_ENABLE_PROJECTS=clang \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DLLVM_ENABLE_RUNTIMES=openmp;compiler-rt \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DLLVM_TARGETS_TO_BUILD=X86;NVPTX \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DCMAKE_LIBRARY_PATH='${LD_LIBRARY_PATH};/lib64;${CUDA_PATH}/lib64/stubs' \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DLIBOMPTARGET_DEP_LIBELF_LIBRARIES:FILEPATH=/usr/lib64/libelf.so.1 \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DLIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR=/usr/include \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DLIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIR=/usr/include:${CLANG}/extra-includes \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DFFI_INCLUDE_DIR:PATH=/usr/include \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DLIBOMPTARGET_DEP_LIBFFI_LIBRARIES=${CLANG}/extra-libs/libffi.so \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DCMAKE_C_COMPILER=gcc\<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DCMAKE_CXX_COMPILER=g++ \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DLLVM_ENABLE_BACKTRACES=ON \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DLLVM_ENABLE_WERROR=OFF \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DLLVM_ENABLE_RTTI=ON \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DLIBOMP_FORTRAN_MODULES=ON \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DOPENMP_ENABLE_LIBOMPTARGET=ON \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DLIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES=35,60,70 \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">    -DCLANG_OPENMP_NVPTX_DEFAULT_ARCH=sm_${COMPUTE_CAPABILITY}"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">Gabriele Jost<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:-webkit-standard;color:black">************************************************************************<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:-webkit-standard;color:black">Gabriele Jost       NASA Ames Research Center<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:-webkit-standard;color:black">Email: Gabriele.Jost@nasa.gov      Mail Stop 258-6<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:-webkit-standard;color:black">Work Phone: (650) 604-0468         Bldg. 258, Rm. 232-4<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:-webkit-standard;color:black">Scientific & HPC Application           P.O. Box 1<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:-webkit-standard;color:black">Development/Optimization            Moffett Field, CA 94035-0001<o:p></o:p></span></p>
</div>
</div>
</div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:-webkit-standard;color:black">************************************************************************</span><o:p></o:p></p>
</div>
</body>
</html>