Skip to content

C for Metal (CM) is a general GPU programming language that allows users to achieve close-to-assembly performance on Intel Processor Graphics. The “cm-emulation” is a software development tool to develop CM kernels and debug on the host machine using the host native compiler and debugger. Shim layer is part of cm-emulation that export API to sup…

Notifications You must be signed in to change notification settings

intel/cm-cpu-emulation

Repository files navigation

DISCONTINUATION OF PROJECT

This project will no longer be maintained by Intel.
Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.
Intel no longer accepts patches to this project.
If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.

CM Emulation project

Table of contents

Prerequisites

Build instructions

Linux

  1. Get the source code and put to <PATH TO SOURCE>
  2. mkdir <BUILD DIRECTORY> && cd <BUILD DIRECTORY>
  3. cmake [OPTIONS, see below] <PATH TO SOURCE>

By default system-installed headers and libraries shall be used. To override some locations the following cmake options can be used

  • OpenCL headers path:

cmake -DOPENCL_HEADERS_PATH=<PATH TO OPENCL HEADERS>

  • Level Zero headers and lib path:

cmake -DLevelZero_INCLUDE_DIR=<PATH CONTAINING level_zero subdir with headers>

cmake -DLevelZero_LIBRARY=<PATH TO>libze_loader.so

  • Local building for ESIMD_EMULATION support for DPCPP/esimd (https://github.com/intel/llvm) without dependency on OpenCL/LevelZero. This option suppresses shim-layer build.

cmake -D __SYCL_EXPLICIT_SIMD_PLUGIN__=true

  • Custom installation path can be set with

cmake -DCMAKE_INSTALL_PREFIX=<YOUR PATH>

  1. make

Make packages

To create DEB, RPM packages and TAR.XZ archive in <BUILD DIRECTORY> run

  1. make package

Installation

Linux

  1. make install

Usage resources:

Development resources:

License

This project is licensed under the MIT License. You may obtain a copy of the License at:

https://opensource.org/licenses/MIT

About

C for Metal (CM) is a general GPU programming language that allows users to achieve close-to-assembly performance on Intel Processor Graphics. The “cm-emulation” is a software development tool to develop CM kernels and debug on the host machine using the host native compiler and debugger. Shim layer is part of cm-emulation that export API to sup…

Resources

Security policy

Stars

Watchers

Forks

Packages

No packages published