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

Hans Wennborg via Openmp-commits openmp-commits at lists.llvm.org
Wed Jan 3 09:40:55 PST 2018


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