2017-03-12 9 views
0

我々は(手書きOpenCLのコードの部分のため)のように制限* CONSTグローバルとしてそれらを指定したとき、我々は、入力引数のための効率的なハードウェアパスを取得:constグローバルを使用してOpenCLでハライド<type> *引数を制限しますか? OpenCLので

__kernel void oclConvolveGlobalMem(const global float* restrict input, 
             constant float* restrict filterWeights, 
             global float* restrict output) 

しかし、HL_DEBUG_CODEGEN=1ハライド生成で見られるように。

// Address spaces for kernel_conv_70_s0_y___block_id_y 
#define __address_space__conv__70 __global 
#define __address_space__input __global 
#define __address_space__kernel __global 
__kernel void kernel_conv_70_s0_y___block_id_y(
const int _conv__70_extent_0, 
const int _conv__70_extent_1, 
const int _conv__70_min_0, 
const int _conv__70_min_1, 
const int _conv__70_stride_1, 
const int _input_min_0, 
const int _input_min_1, 
const int _input_stride_1, 
const int _kernel_min_0, 
const int _kernel_min_1, 
const int _kernel_stride_1, 
__address_space__conv__70 float *_conv__70, 
__address_space__input const float *_input, 
__address_space__kernel const float *_kernel, 
__address_space___shared int16* __shared) 

ここで、入力引数は、restrictと宣言されていません。私はこれが誠実にパフォーマンスを制限することを期待しています。私は、ポインタが制限されているという概念を追加するためにHalideを取得します(使用するバッファはエイリアシングではありません)。

答えて

2

いつHalideを最後に更新しましたか?最近ハライド(2016年10月のようなもの)がバッファ引数の制限を追加:https://github.com/halide/Halide/pull/1550最新のバイナリリリースではこの変更はほとんどありません。

+0

リリース2016_08_04で以前に実行しました。今、私はHalide 2016/10/22の最新リリースにアップグレードしましたが、現在は制限があります。 –

関連する問題