You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to integrate a piece of TypeScript code which works fine as a standalone Angular project into a larger project. All unit tests were working before, but for some reason, all the unit tests involving running GPU.js kernel functions are now failing. Stepping through the code reveals that the failure happens when the kernel function is called. This is a representative example, but it fails in the same way with all instances of running a GPU.js kernel function.
Angular 7.1
GPU.js 2.10.4
Typescript 3.1.1
This was previously working, and works in a standalone project, but is not functioning anymore:
export class GLFunctionService {
private m_gpu: GPU;
public constructor() {
if (GPU.isGPUSupported) {
console.log('GPU Supported');
this.m_gpu = new GPU({ mode: 'gpu' });
} else {
console.log('GPU Not Supported');
this.m_gpu = new GPU({ mode: 'cpu' });
}
}
public testBasicFunction() {
const kernel = this.m_gpu.createKernel(this.func_basic).setOutput([3, 3]);
const result: KernelOutput = kernel() as number[][];
return result;
}
private readonly func_basic: KernelFunction = function (): any {
return this.thread.x + this.thread.y;
};
}
And in the .spec file
const glfs = new GLFunctionService();
describe("basic kernel function wrapped in GLFunctionService class", () => {
const result = glfs.testBasicFunction();
it("should have the expected matrix entries", () => {
expect(result[2][0]).toEqual(2);
expect(result[2][1]).toEqual(3);
});
})
However, it works if I replicate the logic using lambdas in the .spec file itself. So this works:
const m_gpu = new GPU({ mode: 'gpu' });
describe("basic kernel function", () => {
const func_basic: KernelFunction = function (): any {
return this.thread.x + this.thread.y;
};
const kernel = m_gpu.createKernel(func_basic).setOutput([3, 3]);
const result: KernelOutput = kernel() as number[][];
it("should have the expected matrix entries", () => {
expect(result[2][0]).toEqual(2);
expect(result[2][1]).toEqual(3);
})
})
Error message:
Chrome 87.0.4280 (Windows 10.0.0) debugging GPU.js basic kernel function wrapped in GLFunctionService class encountered a declaration exception FAILED
Error: Unexpected expression on line 1, position 57:
ov_o7z5aoq2b.s[78]
at WebGL2FunctionNode.astErrorOutput (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:7893:1)
at WebGL2FunctionNode.getMemberExpressionDetails (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:8239:1)
at WebGL2FunctionNode.astMemberExpression (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:12608:6)
at WebGL2FunctionNode.astGeneric (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:7870:1)
at WebGL2FunctionNode.astUpdateExpression (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:8039:1)
at WebGL2FunctionNode.astGeneric (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:7866:1)
at WebGL2FunctionNode.astExpressionStatement (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:7955:1)
at WebGL2FunctionNode.astGeneric (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:7836:1)
at WebGL2FunctionNode.astFunction (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:11792:1)
at WebGL2FunctionNode.astFunctionExpression (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:7928:1)
Chrome 87.0.4280 (Windows 10.0.0): Executed 24 of 128 (8 FAILED) (0 secs / 0.043 secs)
Chrome 87.0.4280 (Windows 10.0.0) debugging GPU.js basic kernel function wrapped in GLFunctionService class encountered a declaration exception FAILED
Error: Unexpected expression on line 1, position 57:
ov_o7z5aoq2b.s[78]
at WebGL2FunctionNode.astErrorOutput (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:7893:1)
at WebGL2FunctionNode.getMemberExpressionDetails (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:8239:1)
at WebGL2FunctionNode.astMemberExpression (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:12608:6)
at WebGL2FunctionNode.astGeneric (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:7870:1)
at WebGL2FunctionNode.astUpdateExpression (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:8039:1)
at WebGL2FunctionNode.astGeneric (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:7866:1)
at WebGL2FunctionNode.astExpressionStatement (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:7955:1)
at WebGL2FunctionNode.astGeneric (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:7836:1)
at WebGL2FunctionNode.astFunction (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:11792:1)
at WebGL2FunctionNode.astFunctionExpression (C:/ICAExpress/iConnectAccess/Python/blu-ring-viewer/node_modules/gpu.js/dist/gpu-browser.js:792
The text was updated successfully, but these errors were encountered:
The problem is istanbul. Use v8 code coverage instead. I've ranted and ranted and am just dismissed to those devs as to how to easily solve this from their end.
I am trying to integrate a piece of TypeScript code which works fine as a standalone Angular project into a larger project. All unit tests were working before, but for some reason, all the unit tests involving running GPU.js kernel functions are now failing. Stepping through the code reveals that the failure happens when the kernel function is called. This is a representative example, but it fails in the same way with all instances of running a GPU.js kernel function.
Angular 7.1
GPU.js 2.10.4
Typescript 3.1.1
This was previously working, and works in a standalone project, but is not functioning anymore:
And in the .spec file
However, it works if I replicate the logic using lambdas in the .spec file itself. So this works:
Error message:
The text was updated successfully, but these errors were encountered: