mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-19 06:09:01 +00:00
Reimplement invocation of offline compilation program
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>
This commit is contained in:
committed by
Kévin Petit
parent
2c43504923
commit
0d96c198ee
25
test_common/harness/cl_offline_compiler-interface.txt
Normal file
25
test_common/harness/cl_offline_compiler-interface.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
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>"
|
||||
Reference in New Issue
Block a user