function testKernelMap(mode) { const gpu = new GPU({ mode }); function calc1(v1, v2) { return v2[this.thread.x] - v1; } function calc2(v1, v2) { return v1 * v2; } const kernelMap = gpu.createKernelMap({ calc1, calc2, }, function (outputs, targets) { const output = outputs[this.thread.x]; return calc2(calc1(output, targets), output); }, { output: [1], pipeline: true }); try { const result = kernelMap([1], [3]); assert.equal(result.calc1.toArray()[0], 2); assert.equal(result.calc2.toArray()[0], 2); assert.equal(result.result.toArray()[0], 2); } finally { gpu.destroy(); } }