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

Building Media-Transport-Library with intel oneAPI DPC++/C++ #1004

Closed
chenzuozhou opened this issue Oct 30, 2024 · 2 comments
Closed

Building Media-Transport-Library with intel oneAPI DPC++/C++ #1004

chenzuozhou opened this issue Oct 30, 2024 · 2 comments
Assignees

Comments

@chenzuozhou
Copy link

I want to build media-transport-library with intel oneAPI DPC++ library, I'm trying to set "icx" compiler, but it reports errors.

Here is more detail infomations.

  1. change "build.sh" script
    CC=icx CXX=icpx meson setup "${LIB_BUILD_DIR}" -Dbuildtype="$buildtype" -Ddisable_pcapng="$disable_pcapng" -Denable_asan="$enable_asan" -Denable_tap="$enable_tap"

2.add onedpl dependency in file "lib/meson.build"
onedpl_dep = dependency('dpl', required: true)

  1. run build
    root@SYS-4028GR-TR:/home/Media-Transport-Library# ./build.sh
    The Meson build system
    Version: 0.53.2
    Source dir: /home/Media-Transport-Library
    Build dir: /home/Media-Transport-Library/build
    Build type: native build
    Program cat found: YES (/usr/bin/cat)
    Project name: mtl
    Project version: 24.04.0

meson.build:4:0: ERROR: Unknown compiler(s): [['icx']]

A full log can be found at /home/Media-Transport-Library/build/meson-logs/meson-log.txt

infomations in file "/home/Media-Transport-Library/build/meson-logs/meson-log.txt"
Build started at 2024-10-30T19:17:50.686223
Main binary: /usr/bin/python3
Build Options: -Dbuildtype=release -Ddisable_pcapng=false -Denable_asan=false -Denable_tap=false
Python system: Linux
The Meson build system
Version: 0.53.2
Source dir: /home/Media-Transport-Library
Build dir: /home/Media-Transport-Library/build
Build type: native build
Program cat found: YES (/usr/bin/cat)
Running command: /usr/bin/cat /home/Media-Transport-Library/VERSION
--- stdout ---
24.04.0

--- stderr ---

Project name: mtl
Project version: 24.04.0

meson.build:4:0: ERROR: Unknown compiler(s): [['icx']]

If I disable set the compiler, change the "build.sh" script
meson setup "${LIB_BUILD_DIR}" -Dbuildtype="$buildtype" -Ddisable_pcapng="$disable_pcapng" -Denable_asan="$enable_asan" -Denable_tap="$enable_tap"

Tt will report errors, here is the error infos:
[1/3] Compiling C object 'lib/76b5a35@@mtl@sha/src_mt_util.c.o'.
FAILED: lib/76b5a35@@mtl@sha/src_mt_util.c.o
cc -Ilib/76b5a35@@mtl@sha -Ilib -I../lib -I. -I../ -Iinclude -I../include -I/usr/local/include -I/usr/include/libnl3 -I/opt/intel//oneapi//dpl/2022.6/lib/pkgconfig/../..//include -I/usr/local/include/json-c -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -D_DEFAULT_SOURCE '-D__MTL_GIT__="5f451aa9-dirty"' '-D__MTL_LIB_BUILD__="24.04.0"' -DALLOW_EXPERIMENTAL_API -fPIC -include rte_config.h -march=native -mrtm -Werror -Wall -Wunused-parameter -msse4.2 -DMTL_HAS_AVX2 -DMTL_HAS_AVX512 -DMTL_HAS_AVX512_VBMI2 -MD -MQ 'lib/76b5a35@@mtl@sha/src_mt_util.c.o' -MF 'lib/76b5a35@@mtl@sha/src_mt_util.c.o.d' -o 'lib/76b5a35@@mtl@sha/src_mt_util.c.o' -c ../lib/src/mt_util.c
In file included from /usr/local/include/mtl_gpu_direct/gpu.h:8,
from ../lib/src/mt_util.c:18:
/opt/intel//oneapi//dpl/2022.6/lib/pkgconfig/../..//include/CL/sycl.hpp:11:10: fatal error: sycl/sycl.hpp: No such file or directory
#include <sycl/sycl.hpp>
^~~~~~~~~~~~~~~
compilation terminated.
[2/3] Compiling C object 'lib/76b5a35@@mtl@sha/src_st2110_st_rx_video_session.c.o'.
FAILED: lib/76b5a35@@mtl@sha/src_st2110_st_rx_video_session.c.o
cc -Ilib/76b5a35@@mtl@sha -Ilib -I../lib -I. -I../ -Iinclude -I../include -I/usr/local/include -I/usr/include/libnl3 -I/opt/intel//oneapi//dpl/2022.6/lib/pkgconfig/../..//include -I/usr/local/include/json-c -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -D_DEFAULT_SOURCE '-D__MTL_GIT__="5f451aa9-dirty"' '-D__MTL_LIB_BUILD__="24.04.0"' -DALLOW_EXPERIMENTAL_API -fPIC -include rte_config.h -march=native -mrtm -Werror -Wall -Wunused-parameter -msse4.2 -DMTL_HAS_AVX2 -DMTL_HAS_AVX512 -DMTL_HAS_AVX512_VBMI2 -MD -MQ 'lib/76b5a35@@mtl@sha/src_st2110_st_rx_video_session.c.o' -MF 'lib/76b5a35@@mtl@sha/src_st2110_st_rx_video_session.c.o.d' -o 'lib/76b5a35@@mtl@sha/src_st2110_st_rx_video_session.c.o' -c ../lib/src/st2110/st_rx_video_session.c
In file included from /usr/local/include/mtl_gpu_direct/gpu.h:8,
from ../lib/src/st2110/st_rx_video_session.c:20:
/opt/intel//oneapi//dpl/2022.6/lib/pkgconfig/../..//include/CL/sycl.hpp:11:10: fatal error: sycl/sycl.hpp: No such file or directory
#include <sycl/sycl.hpp>
^~~~~~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.

@chenzuozhou
Copy link
Author

After update meson version, it can find icx compiler success, but there are still other errors. The below is more details.

I want to use intel oneDPL library interface to use nvidia gpu. Here is a simple example.
gpu_direct.zip

At first, build 'gpu.h' and 'gpu.cpp' to shared library libmtl_gpu_direct.so, here is build command:

root@/gpu_direct/build# cmake -DCMAKE_CXX_COMPILER=icpx -DCMAKE_BUILD_TYPE=release -DONEDPL_PAR_BACKEND=openmp ..
root@
/gpu_direct/build# make -j 8
root@~/gpu_direct/build# make install

Then, I have change the mtl gpu library from level-zero to oneDPL, but it can't build success. I think it's the meson.build problem. Could please give me some example that building mtl library with oneDPL?

Thanks!

@DawidWesierski4
Copy link
Collaborator

Sorry, I don't think I can provide any useful information on this. Closing due to inactivity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants