llvm-project/polly/test/GPGPU
Philipp Schaad 2f3073b5cb [Polly][GPGPU] Added SPIR Code Generation and Corresponding Runtime Support for Intel
Summary:
Added SPIR Code Generation to the PPCG Code Generator. This can be invoked using
the polly-gpu-arch flag value 'spir32' or 'spir64' for 32 and 64 bit code respectively.
In addition to that, runtime support has been added to execute said SPIR code on Intel
GPU's, where the system is equipped with Intel's open source driver Beignet (development
version). This requires the cmake flag 'USE_INTEL_OCL' to be turned on, and the polly-gpu-runtime
flag value to be 'libopencl'.
The transformation of LLVM IR to SPIR is currently quite a hack, consisting in part of regex
string transformations.
Has been tested (working) with Polybench 3.2 on an Intel i7-5500U (integrated graphics chip).

Reviewers: bollu, grosser, Meinersbur, singam-sanjay

Reviewed By: grosser, singam-sanjay

Subscribers: pollydev, nemanjai, mgorny, Anastasia, kbarton

Tags: #polly

Differential Revision: https://reviews.llvm.org/D35185

llvm-svn: 308751
2017-07-21 16:11:06 +00:00
..
add-scalars-in-scop-to-kills.ll [Polly] [PPCGCodeGeneration] Teach `must_kills` to kill scalars that are local to the scop. 2017-07-06 13:42:42 +00:00
cuda-annotations.ll [PPCGCodeGen] Differentiate kernels based on their parent Scop 2017-07-12 16:46:19 +00:00
cuda-managed-memory-simple.ll [PPCGCodeGen] Differentiate kernels based on their parent Scop 2017-07-12 16:46:19 +00:00
double-parallel-loop.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
host-control-flow.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
host-statement.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
intrinsic-copied-into-kernel.ll Support fabs and copysign in Polly-ACC 2017-07-20 18:26:34 +00:00
invalid-kernel-assert-verifymodule.ll [PPCGCodeGeneration] Add flag to allow polly to fail in GPU kernel fails. 2017-06-26 14:56:56 +00:00
invalid-kernel.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
invariant-load-array-access.ll [PPCGCodeGeneration] Generate invariant loads before trying to generate IR. 2017-07-17 15:57:01 +00:00
invariant-load-hoisting-with-failing-scop.ll [PPCGCodeGeneration] Fix runtime check adjustments since they make assumptions about BB layout. 2017-07-14 10:00:25 +00:00
invariant-load-hoisting-with-variable-bounds.ll [Invariant Loads] Do not consider invariant loads to have dependences. 2017-07-13 12:18:56 +00:00
invariant-load-hoisting-with-variable-lower-bound.ll [Invariant Loads] Do not consider invariant loads to have dependences. 2017-07-13 12:18:56 +00:00
invariant-load-hoisting-with-variable-upper-bound.ll [NFC] [PPCGCodeGeneration] Extend `invariant-load-hoisting-with-variable-upper-bound` test case. 2017-07-07 14:02:27 +00:00
invariant-load-hoisting.ll [Invariant Loads] Do not consider invariant loads to have dependences. 2017-07-13 12:18:56 +00:00
kernel-params-only-some-arrays.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
kernel-params-scop-parameter.ll [PPCGCodeGen] Differentiate kernels based on their parent Scop 2017-07-12 16:46:19 +00:00
kernels-names-across-scops-funcs.ll [PPCGCodeGen] Differentiate kernels based on their parent Scop 2017-07-12 16:46:19 +00:00
mostly-sequential.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
non-read-only-scalars.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
non-zero-array-offset.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
only-part-of-array-modified.ll [GPGPU] Ensure arrays where only parts are modified are copied to GPU 2016-08-10 10:58:19 +00:00
parametric-loop-bound.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
phi-nodes-in-kernel.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
private-memory.ll [PPCGCodeGeneration] Update PPCG Code Generation for OpenCL compatibility 2017-04-25 08:08:29 +00:00
privatization-simple.ll [NFC] Fix breaking build by adding REQUIRES: pollyacc 2017-07-05 15:20:28 +00:00
privatization.ll [NFC] Fix breaking build by adding REQUIRES: pollyacc 2017-07-05 15:20:28 +00:00
region-stmt.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
remove-dead-instructions-in-stmt-2.ll [PPCGCodeGeneration] Update PPCG Code Generation for OpenCL compatibility 2017-04-25 08:08:29 +00:00
remove-dead-instructions-in-stmt.ll [PPCGCodeGeneration] Update PPCG Code Generation for OpenCL compatibility 2017-04-25 08:08:29 +00:00
run-time-check.ll [GPGPU] Create code to verify run-time conditions 2016-08-08 17:35:55 +00:00
scalar-param-and-value-32-bit.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-param-and-value-use.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter-fp128.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter-half.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter-i80.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter-i120.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter-i128.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter-i3000.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter-ppc_fp128.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter-x86_fp80.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scheduler-timeout.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
shared-memory-scalar.ll GPGPU: Detect read-only scalar arrays ... 2016-09-17 19:22:18 +00:00
shared-memory-two-dimensional.ll [PPCGCodeGeneration] Update PPCG Code Generation for OpenCL compatibility 2017-04-25 08:08:29 +00:00
shared-memory.ll [PPCGCodeGeneration] Update PPCG Code Generation for OpenCL compatibility 2017-04-25 08:08:29 +00:00
size-cast.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
spir-codegen.ll [Polly][GPGPU] Added SPIR Code Generation and Corresponding Runtime Support for Intel 2017-07-21 16:11:06 +00:00
unknown-fn-call-not-copied-into-kernel.ll [Polly] [PPCGCodeGeneration] Skip Scops which contain function pointers. 2017-06-12 11:41:09 +00:00
untouched-arrays.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00