2 * Author......: Jens Steube <jens.steube@gmail.com>
6 //fails on intel opencl sdk
7 //#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
8 //#pragma OPENCL EXTENSION cl_khr_byte_addressable_store : enable
14 #define DEVICE_TYPE_CPU 2
15 #define DEVICE_TYPE_GPU 4
16 #define DEVICE_TYPE_ACCEL 8
18 #if DEVICE_TYPE == DEVICE_TYPE_CPU
20 #elif DEVICE_TYPE == DEVICE_TYPE_GPU
22 #elif DEVICE_TYPE == DEVICE_TYPE_ACCEL
30 #if VENDOR_ID == (1 << 0)
33 #elif VENDOR_ID == (1 << 1)
36 #elif VENDOR_ID == (1 << 2)
37 #define IS_INTEL_BEIGNET
39 #elif VENDOR_ID == (1 << 3)
42 #elif VENDOR_ID == (1 << 4)
45 #elif VENDOR_ID == (1 << 5)
48 #elif VENDOR_ID == (1 << 6)
60 #pragma OPENCL EXTENSION cl_amd_media_ops : enable
61 #pragma OPENCL EXTENSION cl_amd_media_ops2 : enable
65 * Unrolling is generally enabled, for all device types and hash modes
66 * There's a few exception when it's better not to unroll
69 // Some algorithms run into too much register pressure due to loop unrolling
101 #if KERN_TYPE == 7900
104 #if KERN_TYPE == 8200
107 #if KERN_TYPE == 10400
110 #if KERN_TYPE == 10500
113 #if KERN_TYPE == 10700
116 #if KERN_TYPE == 12300
119 #if KERN_TYPE == 12400
122 #if KERN_TYPE == 13721
125 #if KERN_TYPE == 13722
128 #if KERN_TYPE == 13723
138 #if KERN_TYPE == 3200
141 #if KERN_TYPE == 5200
144 #if KERN_TYPE == 6100
147 #if KERN_TYPE == 6221
150 #if KERN_TYPE == 6222
153 #if KERN_TYPE == 6223
156 #if KERN_TYPE == 6400
159 #if KERN_TYPE == 6500
162 #if KERN_TYPE == 6800
165 #if KERN_TYPE == 7100
168 #if KERN_TYPE == 7400
171 #if KERN_TYPE == 8000
174 #if KERN_TYPE == 8200
177 #if KERN_TYPE == 10900
180 #if KERN_TYPE == 11600
183 #if KERN_TYPE == 12300
186 #if KERN_TYPE == 12800
189 #if KERN_TYPE == 12900
192 #if KERN_TYPE == 13000
195 #if KERN_TYPE == 13721
198 #if KERN_TYPE == 13722
201 #if KERN_TYPE == 13723
208 // Some algorithms break due to loop unrolling, it's unknown why, probably compiler bugs
209 // Can overlap with above cases
214 #if KERN_TYPE == 1750
217 #if KERN_TYPE == 1760
220 #if KERN_TYPE == 6500
223 #if KERN_TYPE == 7100
226 #if KERN_TYPE == 9600
229 #if KERN_TYPE == 12200
232 #if KERN_TYPE == 12300