MCPcopy Index your code
hub / github.com/gpujs/gpu.js / dynamicOutput2DKernelMapShrinks

Function dynamicOutput2DKernelMapShrinks

test/features/dynamic-output.js:349–376  ·  view source on GitHub ↗
(mode)

Source from the content-addressed store, hash-verified

347
348
349function dynamicOutput2DKernelMapShrinks(mode) {
350 const gpu = new GPU({ mode });
351 const kernel = gpu.createKernelMap({
352 result1: function map(v) {
353 return v;
354 }
355 }, function() {
356 return map(this.output.x + this.output.y + this.thread.x + this.thread.y);
357 }, { dynamicOutput: true });
358
359 kernel.setOutput([3,3]);
360 let result = kernel();
361 assert.equal(result.result.length, 3);
362 assert.equal(result.result1.length, 3);
363 assert.deepEqual(result.result.map(row => Array.from(row)), [[6,7,8],[7,8,9],[8,9,10]]);
364 assert.deepEqual(result.result1.map(row => Array.from(row)), [[6,7,8],[7,8,9],[8,9,10]]);
365 assert.deepEqual(Array.from(kernel.output), [3,3]);
366
367 kernel.setOutput([2,2]);
368 result = kernel();
369 assert.equal(result.result.length, 2);
370 assert.equal(result.result1.length, 2);
371 assert.deepEqual(result.result.map(row => Array.from(row)), [[4,5],[5,6]]);
372 assert.deepEqual(result.result1.map(row => Array.from(row)), [[4,5],[5,6]]);
373 assert.deepEqual(Array.from(kernel.output), [2,2]);
374
375 gpu.destroy();
376}
377
378test('dynamic output 2d shrinks auto', () => {
379 dynamicOutput2DShrinks();

Callers

nothing calls this directly

Calls 4

createKernelMapMethod · 0.95
destroyMethod · 0.95
kernelFunction · 0.85
setOutputMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…