我正在试验英特尔的 River Trail 项目。我安装了 Firefox 扩展(FFv19.02)。我还为 Windows 安装了 openCL。除了 'combine' 方法外,所有 API 方法似乎都在工作(map、reduce、scan、scatter、flatten、partition):
var par_A = new ParallelArray([3,3], function(i,j) {return j});
console.log( par_A.combine(function(i) {return this.get(i) + 1} ) );
我得到:
TypeError: par_A.combine is not a function
知道问题可能是什么吗?
更新:
所以上面的例子没有意义,因为你不能用一个组合来迭代一个二维数组。为简化起见,让我们仅举一个 1D 示例:
var par_A = new ParallelArray([1,2,3,4,5]);
console.log( par_A.combine(function(i) {return this.get(i) + 1} ) );
如下所述,有两种 API 方法,一种由 Intel 提出,另一种是ECMAscript 草案。ECMAscript 草稿没有“组合”方法,但将索引作为第二个参数传递给“地图”。上面的等价物是:
var par_A = new ParallelArray([1,2,3.4.5]);
console.log( par_A.map(function(v, i) {return this.get(i) + 1} ) );