mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-19 06:09:01 +00:00
This change reimplements offline compiler invocation, using a new command
line interface that allows the passing of relevant CL device information
to the offline compiler. The information that is passed is as follows:
* CL_DEVICE_ADDRESS_BITS
* CL_DEVICE_EXTENSIONS
* CL_DEVICE_IL_VERSION (with --compilation-mode=spir-v only)
* CL_DEVICE_VERSION
The interface for the offline compiler script is as follows:
usage: cl_offline_compiler --source FILE --output FILE
--cl-device-info FILE --mode MODE
-- [BUILD_OPTIONS [BUILD_OPTIONS ...]]
positional arguments:
BUILD_OPTIONS additional options to pass to the compiler
optional arguments:
--source FILE OpenCL C source file to compile
--output FILE SPIR-V or binary file to create
--cl-device-info FILE OpenCL device info file
--mode compilation mode (spir-v or binary)
The OpenCL C version for compilation is now specified in BUILD_OPTIONS,
as normal for online compilation, i.e. with -cl-std=VERSION.
Signed-off-by: Stuart Brady <stuart.brady@arm.com>
26 lines
1.1 KiB
Plaintext
26 lines
1.1 KiB
Plaintext
The cl_offline_compiler program used for offline compilation must
|
|
implement the following interface.
|
|
|
|
usage: cl_offline_compiler --source FILE --output FILE
|
|
--cl-device-info FILE --mode MODE
|
|
-- [BUILD_OPTIONS [BUILD_OPTIONS ...]]
|
|
|
|
positional arguments:
|
|
BUILD_OPTIONS additional options to pass to the compiler
|
|
|
|
optional arguments:
|
|
--source FILE OpenCL C source file to compile
|
|
--output FILE SPIR-V or binary file to create
|
|
--cl-device-info FILE OpenCL device info file
|
|
--mode compilation mode (spir-v or binary)
|
|
|
|
The --cl-device-info file is a list of KEY=VALUE pairs containing device
|
|
information relevant to the mode of offline compilation in question.
|
|
It is of the following form:
|
|
|
|
# OpenCL device info affecting <SPIR-V|binary> offline compilation:
|
|
CL_DEVICE_ADDRESS_BITS=<32|64>
|
|
CL_DEVICE_EXTENSIONS="<space separated list of CL extensions>"
|
|
CL_DEVICE_IL_VERSION="<space separated list of IL versions>"
|
|
CL_DEVICE_VERSION="OpenCL <version> <vendor info>"
|