MCPcopy Create free account
hub / github.com/tensorflow/tfjs / kernelFunc

Function kernelFunc

tfjs-backend-wasm/src/kernels/binary_kernel.ts:45–70  ·  view source on GitHub ↗
(args: {backend: BackendWasm, inputs: BinaryInputs})

Source from the content-addressed store, hash-verified

43 }
44
45 function kernelFunc(args: {backend: BackendWasm, inputs: BinaryInputs}):
46 TensorInfo {
47 const {backend, inputs} = args;
48 const {a, b} = inputs;
49 const aId = backend.dataIdMap.get(a.dataId).id;
50 const bId = backend.dataIdMap.get(b.dataId).id;
51
52 const outputType = dtype != null ? dtype : a.dtype;
53 const newShape = backend_util.assertAndGetBroadcastShape(a.shape, b.shape);
54 const out = backend.makeOutput(newShape, outputType);
55
56 // Short-circuit zero-sized tensors.
57 if (util.sizeFromShape(newShape) === 0) {
58 return out;
59 }
60
61 const aShapeBytes = new Uint8Array(new Int32Array(a.shape).buffer);
62 const bShapeBytes = new Uint8Array(new Int32Array(b.shape).buffer);
63 const outId = backend.dataIdMap.get(out.dataId).id;
64 const kernelFunc = () => wasmFunc(
65 aId, aShapeBytes, a.shape.length, bId, bShapeBytes, b.shape.length,
66 CppDType[a.dtype], outId);
67
68 kernelFunc();
69 return out;
70 }
71
72 return {kernelName, backendName: 'wasm', setupFunc, kernelFunc};
73}

Callers

nothing calls this directly

Calls 2

getMethod · 0.45
makeOutputMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…