如何在OpenCL linux中支持可变长度数组

时间:2016-11-13 07:19:26

标签: arrays variables opencl

我的内核包含一些私有变量长度数组。内核可以在Mac中编译和执行,但在Linux OpenCL中失败。在linux中,错误是this.render = function(self){ if(self.data){ self.x = d3.scaleLinear() .domain([0, d3.max(self.data.map(function(d) { return parseInt(d.daily_count); })) ]) .range([0, 500]); var chart = d3.select("#chart"); var bars = chart.selectAll("d") .data(self.data) bars.enter().append('div') .attr('class', 'bar-container row') .each(function(d) { d3.select(this).append('div') .attr('class', 'label four columns'); d3.select(this).append('div') .attr('class', 'bar eight columns'); }) .merge(bars) .each(function(d){ d3.select(this).selectAll('div.label') .text(function(d) {return d.date_string; }); d3.select(this).selectAll('div.bar') .style('background-color', function(d){ return (d.daily_count == 0 ? 'white' : '#1EAEDB') }) .style('color', function(d){ return (d.daily_count == 0 ? 'red' : 'white') }) .style("width", function(d) { return self.x(d.daily_count) + "px"; }) .text(function(d) { return (d.daily_count == 0 ? 'closed' : d.daily_count) }); }) bars.exit().remove(); 。那么,如何在Linux OpenCL中支持变长数组?

1 个答案:

答案 0 :(得分:0)

尝试使用OpenCL KMA(内核内存分配器) 见https://github.com/RSpliet/KMA

它为OpenCL实现了malloc和free,