Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Port intel pvc #24

Closed
wants to merge 6 commits into from
Closed

[WIP] Port intel pvc #24

wants to merge 6 commits into from

Conversation

yasahi-hpc
Copy link
Collaborator

@yasahi-hpc yasahi-hpc commented Jan 17, 2024

In this PR, I have added the SYCL backend support for Intel PVC. Although the tests passed, performance seems quite bad.
For the moment, the CI for Intel does not work since the oneMKL is missing in the container. As well as ginkgo guys, we may rely on spack?

@yasahi-hpc
Copy link
Collaborator Author

Due to the issue of OpenMP library, oneMKL seems disabled.

-- The CXX compiler identification is IntelLLVM 2024.0.2
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/intel/oneapi/compiler/latest/bin/icpx - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Could NOT find Kokkos (missing: Kokkos_DIR)
-- Setting default Kokkos CXX standard to 17
-- Kokkos version: 4.2.0
-- The project name is: Kokkos
-- Using internal gtest for testing
-- Configured git information in /work/build_INTEL/generated/Kokkos_Version_Info.cpp
-- SERIAL backend is being turned on to ensure there is at least one Host space. To change this, you must enable another host execution space and configure with -DKokkos_ENABLE_SERIAL=OFF or change CMakeCache.txt
-- Using -std=gnu++17 for C++17 extensions as feature
-- Performing Test KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED
-- Performing Test KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED - Failed
-- Built-in Execution Spaces:
--     Device Parallel: Kokkos::Experimental::SYCL
--     Host Parallel: NoTypeDefined
--       Host Serial: SERIAL
-- 
-- Architectures:
--  INTEL_PVC
-- Found TPLLIBDL: /usr/include  
-- Looking for C++ include oneapi/dpl/execution
-- Looking for C++ include oneapi/dpl/execution - not found
-- Looking for C++ include oneapi/dpl/algorithm
-- Looking for C++ include oneapi/dpl/algorithm - not found
-- Performing Test KOKKOS_NO_TBB_CONFLICT
-- Performing Test KOKKOS_NO_TBB_CONFLICT - Failed
-- oneDPL: ONEDPL_PAR_BACKEND=tbb, disable OpenMP backend
-- Performing Test _fsycl_option
-- Performing Test _fsycl_option - Failed
-- oneDPL: -fsycl compiler option is not supported or sycl.hpp is not available, set ONEDPL_USE_DPCPP_BACKEND=0
-- Using internal desul_atomics copy
-- Kokkos Devices: SERIAL;SYCL, Kokkos Backends: SERIAL;SYCL
-- Could NOT find GTest (missing: GTest_DIR)
-- The C compiler identification is IntelLLVM 2024.0.2
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/intel/oneapi/compiler/latest/bin/icx - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Upgrade to CMake version 3.25.2 or later for native support of Intel compiler(s) icx, icpx. You are running version 3.23.2.
-- MKL_VERSION: 2024.0.0
-- MKL_ROOT: /opt/intel/oneapi/mkl/2024.0
-- MKL_SYCL_ARCH: None, set to ` intel64` by default
-- MKL_ARCH: None, set to ` intel64` by default
-- MKL_SYCL_LINK: None, set to ` dynamic` by default
-- MKL_LINK: None, set to ` dynamic` by default
-- MKL_SYCL_INTERFACE_FULL: None, set to ` intel_ilp64` by default
-- MKL_INTERFACE_FULL: None, set to ` intel_ilp64` by default
-- MKL_SYCL_THREADING: None, set to ` tbb_thread` by default
-- MKL_THREADING: None, set to ` intel_thread` by default
-- Found /opt/intel/oneapi/mkl/2024.0/lib/libmkl_intel_ilp64.so
-- Found /opt/intel/oneapi/mkl/2024.0/lib/libmkl_intel_thread.so
-- Found /opt/intel/oneapi/mkl/2024.0/lib/libmkl_core.so
-- Found /opt/intel/oneapi/mkl/2024.0/lib/libmkl_sycl_blas.so
-- Found /opt/intel/oneapi/mkl/2024.0/lib/libmkl_sycl_lapack.so
-- Found /opt/intel/oneapi/mkl/2024.0/lib/libmkl_sycl_dft.so
-- Found /opt/intel/oneapi/mkl/2024.0/lib/libmkl_sycl_sparse.so
-- Found /opt/intel/oneapi/mkl/2024.0/lib/libmkl_sycl_data_fitting.so
-- Found /opt/intel/oneapi/mkl/2024.0/lib/libmkl_sycl_rng.so
-- Found /opt/intel/oneapi/mkl/2024.0/lib/libmkl_sycl_stats.so
-- Found /opt/intel/oneapi/mkl/2024.0/lib/libmkl_sycl_vm.so
-- Found /opt/intel/oneapi/mkl/2024.0/lib/libmkl_tbb_thread.so
CMake Error at common/src/CMakeLists.txt:25 (find_package):
  Found package configuration file:

    /opt/intel/oneapi/mkl/latest/lib/cmake/mkl/MKLConfig.cmake

  but it set MKL_FOUND to FALSE so package "MKL" is considered to be NOT
  FOUND.  Reason given by package:

  The required variable OMP_LIBRARY has an invalid value
  "OMP_LIBRARY-NOTFOUND".



-- Configuring incomplete, errors occurred!
See also "/work/build_INTEL/CMakeFiles/CMakeOutput.log".
See also "/work/build_INTEL/CMakeFiles/CMakeError.log".
Error: Process completed with exit code 1.

@yasahi-hpc yasahi-hpc self-assigned this Jan 18, 2024
@yasahi-hpc yasahi-hpc added the enhancement New feature or request label Jan 18, 2024
@yasahi-hpc yasahi-hpc mentioned this pull request Jan 29, 2024
@yasahi-hpc
Copy link
Collaborator Author

Closing. Integrated in PR (#38)

@yasahi-hpc yasahi-hpc closed this Jan 29, 2024
@yasahi-hpc yasahi-hpc deleted the port-intel-pvc branch January 29, 2024 11:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant