Intel® C++ Compiler 18.0 Developer Guide and Reference

Overview: API-Based Offloading

This topic only applies when targeting Intel® Graphics Technology.

Intel® Cilk™ Plus is a deprecated feature in the Intel® C++ Compiler 18.0. An alternative for offloading to the processor graphics is planned for a future release. For more information see Migrate Your Application to use OpenMP* or Intel® TBB Instead of Intel® Cilk™ Plus.

Synchronous and Asynchronous Offloading

The compiler provides two heterogeneous offload programming models that enable you to use the processor graphics:

About the Asynchronous Offload API

The Intel® Graphics Technology runtime and the gfx_rt.h header file provide an Asynchronous API to organize queued offload of user-defined kernel functions and data sharing between the CPU and prodcessor graphics, with little extra programming effort. You can use this API in conjunction with named or direct kernels written using _Cilk_for as the parallel loop in the kernel entry point.

The API includes the following functions:

Name

Description

GfxTaskId _GFX_offload

Putting the task into the in-order offload queue

_GFX_wait

Waiting for task completion

_GFX_share

_GFX_unshare

Managing shared linear data

GfxImage2D (C++ interface, class constructor)

GfxSharedImage2D (C++ interface, class constructor)

GfxResourceHandle _GFX_create_image_2d (C interface)

_GFX_close_resource_handle (C interface)

Creating and destroying 2D imagesfor processor graphics operations

GfxImage2D::write, (C++ interface)

GfxSharedImage2D::write, (C++ interface)

GfxImage2::read (C++ interface)

GfxSharedImage2::read (C++ interface)

_GFX_read_image_2d (C interface)

_GFX_write_image_2d (C interface)

Synchronizing the content of 2D images between CPU and GPU

See Also