[Openmp-commits] [openmp] r318847 - [CMake] Re-enable libomptarget and restrict tests to Clang 6.0.0

Jonas Hahnfeld via Openmp-commits openmp-commits at lists.llvm.org
Wed Jan 3 09:43:55 PST 2018


There should be some LIBOMPTARGET_DEP_* variables in the cache...

Am 2018-01-03 18:40, schrieb Hans Wennborg:
> How do I check whether I have those libraries?
> 
> On Wed, Jan 3, 2018 at 6:24 PM, Jonas Hahnfeld <hahnjo at hahnjo.de> 
> wrote:
>> Hmm, not good. I'll download the branch and see if I can see the 
>> error.
>> 
>> Do you have libelf and libffi installed? Is the target plugin built? 
>> Maybe
>> the tests are not correctly disabled if we don't find the libraries...
>> 
>> Jonas
>> 
>> 
>> Am 2018-01-03 17:51, schrieb Hans Wennborg:
>>> 
>>> After just having created the 6.0.0 branch and trying to run the
>>> tests, they still seem to fail:
>>> 
>>> ********************
>>> FAIL: libomptarget :: offloading/offloading_success.c (46527 of 
>>> 48035)
>>> ******************** TEST 'libomptarget ::
>>> offloading/offloading_success.c' FAILED ********************
>>> Script:
>>> --
>>> echo ignored-command
>>> echo ignored-command
>>> echo ignored-command
>>> /work/llvm-6.0/build.release2/./bin/clang -fopenmp  -I
>>> /work/llvm-6.0/llvm/projects/openmp/libomptarget/test -I /work
>>> /llvm-6.0/build.release2/projects/openmp/libomptarget/../runtime/src
>>> -L /work/llvm-6.0/build.release2/lib  -fopenmp-t
>>> argets=x86_64-pc-linux-gnu
>>> 
>>> /usr/local/google/work/llvm-6.0/llvm/projects/openmp/libomptarget/test/offloading/offloadi
>>> ng_success.c -o
>>> 
>>> /usr/local/google/work/llvm-6.0/build.release2/projects/openmp/libomptarget/test/offloading/Output/of
>>> floading_success.c.tmp-x86_64-pc-linux-gnu &&
>>> /usr/local/google/work/llvm-6.0/build.release2/projects/openmp/libompta
>>> rget/test/offloading/Output/offloading_success.c.tmp-x86_64-pc-linux-gnu
>>> | /work/llvm-6.0/build.release2/./bin/FileCh
>>> eck
>>> 
>>> /usr/local/google/work/llvm-6.0/llvm/projects/openmp/libomptarget/test/offloading/offloading_success.c
>>> --
>>> Exit Code: 1
>>> 
>>> Command Output (stdout):
>>> --
>>> $ "echo" "ignored-command"
>>> # command output:
>>> ignored-command
>>> 
>>> $ "echo" "ignored-command"
>>> # command output:
>>> ignored-command
>>> 
>>> $ "echo" "ignored-command"
>>> # command output:
>>> ignored-command
>>> 
>>> $ "/work/llvm-6.0/build.release2/./bin/clang" "-fopenmp" "-I"
>>> "/work/llvm-6.0/llvm/projects/openmp/libomptarget/test"
>>>  "-I"
>>> 
>>> "/work/llvm-6.0/build.release2/projects/openmp/libomptarget/../runtime/src"
>>> "-L" "/work/llvm-6.0/build.release2
>>> /lib" "-fopenmp-targets=x86_64-pc-linux-gnu"
>>> "/usr/local/google/work/llvm-6.0/llvm/projects/openmp/libomptarget/test/
>>> offloading/offloading_success.c" "-o"
>>> 
>>> "/usr/local/google/work/llvm-6.0/build.release2/projects/openmp/libomptarget/te
>>> st/offloading/Output/offloading_success.c.tmp-x86_64-pc-linux-gnu"
>>> $
>>> 
>>> "/usr/local/google/work/llvm-6.0/build.release2/projects/openmp/libomptarget/test/offloading/Output/offloading_succ
>>> ess.c.tmp-x86_64-pc-linux-gnu"
>>> note: command had no output on stdout or stderr
>>> error: command failed with exit status: 1
>>> $ "/work/llvm-6.0/build.release2/./bin/FileCheck"
>>> "/usr/local/google/work/llvm-6.0/llvm/projects/openmp/libomptarget/
>>> test/offloading/offloading_success.c"
>>> # command stderr:
>>> 
>>> /usr/local/google/work/llvm-6.0/llvm/projects/openmp/libomptarget/test/offloading/offloading_success.c:19:12:
>>> error:
>>> expected string not found in input
>>>  // CHECK: Target region executed on the device
>>>            ^
>>> <stdin>:1:1: note: scanning from here
>>> Target region executed on the host
>>> ^
>>> 
>>> error: command failed with exit status: 1
>>> 
>>> --
>>> 
>>> On Wed, Nov 22, 2017 at 6:15 PM, Jonas Hahnfeld via Openmp-commits
>>> <openmp-commits at lists.llvm.org> wrote:
>>>> 
>>>> Author: hahnfeld
>>>> Date: Wed Nov 22 09:15:18 2017
>>>> New Revision: 318847
>>>> 
>>>> URL: http://llvm.org/viewvc/llvm-project?rev=318847&view=rev
>>>> Log:
>>>> [CMake] Re-enable libomptarget and restrict tests to Clang 6.0.0
>>>> 
>>>> We have just fixed the codegen of omp_is_initial_device() to 
>>>> reliably
>>>> work
>>>> when offloading to the same device, see commit r316001. This fixes 
>>>> the
>>>> failing tests that were the reason why we disabled the library for 
>>>> 5.0.
>>>> 
>>>> Differential Revision: https://reviews.llvm.org/D39052
>>>> 
>>>> Modified:
>>>>     openmp/trunk/CMakeLists.txt
>>>>     openmp/trunk/libomptarget/test/CMakeLists.txt
>>>> 
>>>> Modified: openmp/trunk/CMakeLists.txt
>>>> URL:
>>>> http://llvm.org/viewvc/llvm-project/openmp/trunk/CMakeLists.txt?rev=318847&r1=318846&r2=318847&view=diff
>>>> 
>>>> ==============================================================================
>>>> --- openmp/trunk/CMakeLists.txt (original)
>>>> +++ openmp/trunk/CMakeLists.txt Wed Nov 22 09:15:18 2017
>>>> @@ -5,10 +5,7 @@ set(OPENMP_LLVM_TOOLS_DIR "" CACHE PATH
>>>>  add_subdirectory(runtime)
>>>> 
>>>> 
>>>> -# The tests currently don't pass if the generic ELF plugin is 
>>>> built.
>>>> -# TODO: Fix the tests and enable libomptarget by default on 
>>>> supported
>>>> -#       architectures and platforms.
>>>> -set(ENABLE_LIBOMPTARGET OFF)
>>>> +set(ENABLE_LIBOMPTARGET ON)
>>>>  # Currently libomptarget cannot be compiled on Windows or MacOS X.
>>>>  # Since the device plugins are only supported on Linux anyway,
>>>>  # there is no point in trying to compile libomptarget on other 
>>>> OSes.
>>>> 
>>>> Modified: openmp/trunk/libomptarget/test/CMakeLists.txt
>>>> URL:
>>>> http://llvm.org/viewvc/llvm-project/openmp/trunk/libomptarget/test/CMakeLists.txt?rev=318847&r1=318846&r2=318847&view=diff
>>>> 
>>>> ==============================================================================
>>>> --- openmp/trunk/libomptarget/test/CMakeLists.txt (original)
>>>> +++ openmp/trunk/libomptarget/test/CMakeLists.txt Wed Nov 22 
>>>> 09:15:18
>>>> 2017
>>>> @@ -27,6 +27,29 @@ if(${LIBOMPTARGET_STANDALONE_BUILD})
>>>>      "C compiler to use for testing OpenMP offloading library")
>>>>    set(LIBOMPTARGET_TEST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE 
>>>> STRING
>>>>      "C++ compiler to use for testing OpenMP offloading library")
>>>> +
>>>> +  if (NOT(${LIBOMPTARGET_TEST_C_COMPILER} MATCHES "clang" AND
>>>> ${LIBOMPTARGET_TEST_CXX_COMPILER} MATCHES "clang"))
>>>> +    libomptarget_say("Can only test with Clang compiler!")
>>>> +    libomptarget_warning_say("The check-libomptarget target will 
>>>> not be
>>>> available!")
>>>> +    return()
>>>> +  endif()
>>>> +
>>>> +  execute_process(
>>>> +    COMMAND ${LIBOMPTARGET_TEST_C_COMPILER} --version
>>>> +    OUTPUT_VARIABLE TEST_COMPILER_VERSION)
>>>> +  string(REGEX MATCH "version ([0-9.]+)" TEST_COMPILER_VERSION
>>>> ${TEST_COMPILER_VERSION})
>>>> +  if (NOT(TEST_COMPILER_VERSION))
>>>> +    libomptarget_say("Unable to determine Clang compiler version!")
>>>> +    libomptarget_warning_say("The check-libomptarget target will 
>>>> not be
>>>> available!")
>>>> +    return()
>>>> +  endif()
>>>> +  set(TEST_COMPILER_VERSION ${CMAKE_MATCH_1})
>>>> +  if (TEST_COMPILER_VERSION VERSION_LESS 6.0.0)
>>>> +    libomptarget_say("Clang compiler version does not implement all
>>>> codegen, please update to 6.0.0!")
>>>> +    libomptarget_warning_say("The check-libomptarget target will 
>>>> not be
>>>> available!")
>>>> +    return()
>>>> +  endif()
>>>> +
>>>>    set(LIBOMPTARGET_TEST_OPENMP_FLAG -fopenmp CACHE STRING
>>>>      "OpenMP compiler flag to use for testing OpenMP offloading 
>>>> library")
>>>>    find_program(LIBOMPTARGET_LLVM_LIT_EXECUTABLE
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Openmp-commits mailing list
>>>> Openmp-commits at lists.llvm.org
>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-commits


More information about the Openmp-commits mailing list