abstract 4..6 HiPAcc
	xor API
		OpenCL
		CUDA
	xor TextureMemory
		Linear1D
		Linear2D
		Ldg
		Array2D
	LocalMemory
	xor Blocksize
		bs_32x1
		bs_32x2
		bs_32x4
		bs_32x8
		bs_32x16
		bs_32x32
		bs_64x1
		bs_64x2
		bs_64x4
		bs_64x8
		bs_64x16
		bs_128x1
		bs_128x2
		bs_128x4
		bs_128x8
		bs_256x1
		bs_256x2
		bs_256x4
		bs_512x1	
		bs_512x2
		bs_1024x1
	padding -> integer
	[padding >= 1]
	[padding <= 17]
	pixelPerThread -> integer
	[pixelPerThread >= 1]
	[pixelPerThread <= 4]
Cp : HiPAcc
[API]
[Blocksize]
[padding]
[pixelPerThread]
[OpenCL => (not Linear1D && not Linear2D && not Ldg)]
[((bs_32x32 || bs_64x16 || bs_128x8 || bs_256x4 || bs_512x2) && (pixelPerThread = 3 || pixelPerThread = 4)) => not LocalMemory]
[(bs_1024x1 && (pixelPerThread = 2 || pixelPerThread = 3 || pixelPerThread = 4)) => not LocalMemory]
[Array2D => padding = 1]