diff --git a/src/resources/cache/hashes.json b/src/resources/cache/hashes.json index bf2eca5789b8..16bf07892d15 100644 --- a/src/resources/cache/hashes.json +++ b/src/resources/cache/hashes.json @@ -2,11 +2,15 @@ "webgpu/shader/execution/binary/af_addition.bin": "590ce5d0", "webgpu/shader/execution/binary/af_logical.bin": "4269127d", "webgpu/shader/execution/binary/af_division.bin": "d4ff5475", - "webgpu/shader/execution/binary/af_matrix_addition.bin": "9593eb85", - "webgpu/shader/execution/binary/af_matrix_subtraction.bin": "aa460371", + "webgpu/shader/execution/binary/af_matrix_addition.bin": "298ef48e", + "webgpu/shader/execution/binary/af_matrix_matrix_multiplication.bin": "7fed8020", + "webgpu/shader/execution/binary/af_matrix_scalar_multiplication.bin": "48e954b2", + "webgpu/shader/execution/binary/af_matrix_subtraction.bin": "6d4ead98", + "webgpu/shader/execution/binary/af_matrix_vector_multiplication.bin": "209e2c19", "webgpu/shader/execution/binary/af_multiplication.bin": "5eafc30c", "webgpu/shader/execution/binary/af_remainder.bin": "75cfdd3", "webgpu/shader/execution/binary/af_subtraction.bin": "5acd5252", + "webgpu/shader/execution/binary/ai_arithmetic.bin": "f89aeb4", "webgpu/shader/execution/binary/f16_addition.bin": "b3b843b9", "webgpu/shader/execution/binary/f16_logical.bin": "36a51091", "webgpu/shader/execution/binary/f16_division.bin": "67fc610", @@ -93,6 +97,8 @@ "webgpu/shader/execution/unpack4x8unorm.bin": "31999cab", "webgpu/shader/execution/unary/af_arithmetic.bin": "446e85d9", "webgpu/shader/execution/unary/af_assignment.bin": "9911dc5f", + "webgpu/shader/execution/unary/ai_arithmetic.bin": "497ec1e1", + "webgpu/shader/execution/unary/ai_assignment.bin": "fc978bdd", "webgpu/shader/execution/unary/bool_conversion.bin": "bcab7d9a", "webgpu/shader/execution/unary/f16_arithmetic.bin": "b0a84279", "webgpu/shader/execution/unary/f16_conversion.bin": "4bbd348e", @@ -100,11 +106,5 @@ "webgpu/shader/execution/unary/f32_conversion.bin": "9af02ab5", "webgpu/shader/execution/unary/i32_arithmetic.bin": "8f3c4616", "webgpu/shader/execution/unary/i32_conversion.bin": "972063c", - "webgpu/shader/execution/unary/u32_conversion.bin": "168fcf74", - "webgpu/shader/execution/unary/ai_assignment.bin": "fc978bdd", - "webgpu/shader/execution/binary/ai_arithmetic.bin": "f89aeb4", - "webgpu/shader/execution/unary/ai_arithmetic.bin": "497ec1e1", - "webgpu/shader/execution/binary/af_matrix_matrix_multiplication.bin": "7fed8020", - "webgpu/shader/execution/binary/af_matrix_scalar_multiplication.bin": "48e954b2", - "webgpu/shader/execution/binary/af_matrix_vector_multiplication.bin": "209e2c19" + "webgpu/shader/execution/unary/u32_conversion.bin": "168fcf74" } \ No newline at end of file diff --git a/src/resources/cache/webgpu/shader/execution/binary/af_matrix_addition.bin b/src/resources/cache/webgpu/shader/execution/binary/af_matrix_addition.bin index d387abcd7f20..634f518e0d12 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/af_matrix_addition.bin and b/src/resources/cache/webgpu/shader/execution/binary/af_matrix_addition.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/af_matrix_subtraction.bin b/src/resources/cache/webgpu/shader/execution/binary/af_matrix_subtraction.bin index 4a1449182109..1754d77f1aad 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/af_matrix_subtraction.bin and b/src/resources/cache/webgpu/shader/execution/binary/af_matrix_subtraction.bin differ diff --git a/src/webgpu/shader/execution/expression/binary/af_matrix_addition.cache.ts b/src/webgpu/shader/execution/expression/binary/af_matrix_addition.cache.ts index 75c13d7702b6..e89250f57bd4 100644 --- a/src/webgpu/shader/execution/expression/binary/af_matrix_addition.cache.ts +++ b/src/webgpu/shader/execution/expression/binary/af_matrix_addition.cache.ts @@ -1,5 +1,6 @@ import { FP } from '../../../../util/floating_point.js'; import { sparseMatrixF64Range } from '../../../../util/math.js'; +import { selectNCases } from '../case.js'; import { makeCaseCache } from '../case_cache.js'; // Cases: matCxR @@ -7,11 +8,15 @@ const mat_cases = ([2, 3, 4] as const) .flatMap(cols => ([2, 3, 4] as const).map(rows => ({ [`mat${cols}x${rows}`]: () => { - return FP.abstract.generateMatrixPairToMatrixCases( - sparseMatrixF64Range(cols, rows), - sparseMatrixF64Range(cols, rows), - 'finite', - FP.abstract.additionMatrixMatrixInterval + return selectNCases( + 'binary/af_matrix_addition', + 50, + FP.abstract.generateMatrixPairToMatrixCases( + sparseMatrixF64Range(cols, rows), + sparseMatrixF64Range(cols, rows), + 'finite', + FP.abstract.additionMatrixMatrixInterval + ) ); }, })) diff --git a/src/webgpu/shader/execution/expression/binary/af_matrix_subtraction.cache.ts b/src/webgpu/shader/execution/expression/binary/af_matrix_subtraction.cache.ts index b030f369e3d3..c3e5e856dc26 100644 --- a/src/webgpu/shader/execution/expression/binary/af_matrix_subtraction.cache.ts +++ b/src/webgpu/shader/execution/expression/binary/af_matrix_subtraction.cache.ts @@ -1,5 +1,6 @@ import { FP } from '../../../../util/floating_point.js'; import { sparseMatrixF64Range } from '../../../../util/math.js'; +import { selectNCases } from '../case.js'; import { makeCaseCache } from '../case_cache.js'; // Cases: matCxR @@ -7,11 +8,15 @@ const mat_cases = ([2, 3, 4] as const) .flatMap(cols => ([2, 3, 4] as const).map(rows => ({ [`mat${cols}x${rows}`]: () => { - return FP.abstract.generateMatrixPairToMatrixCases( - sparseMatrixF64Range(cols, rows), - sparseMatrixF64Range(cols, rows), - 'finite', - FP.abstract.subtractionMatrixMatrixInterval + return selectNCases( + 'binary/af_matrix_subtraction', + 50, + FP.abstract.generateMatrixPairToMatrixCases( + sparseMatrixF64Range(cols, rows), + sparseMatrixF64Range(cols, rows), + 'finite', + FP.abstract.subtractionMatrixMatrixInterval + ) ); }, }))