@@ -43,7 +43,7 @@ describeWebGPU('backend webgpu', () => {
4343
4444 expect ( endNumBytes - startNumBytes ) . toEqual ( 48 ) ;
4545 expect ( endNumTensors - startNumTensors ) . toEqual ( 2 ) ;
46- expect ( endNumBytesInGPU - startNumBytesInGPU ) . toEqual ( 48 ) ;
46+ expect ( endNumBytesInGPU - startNumBytesInGPU ) . toEqual ( 24 ) ;
4747
4848 tf . test_util . expectArraysClose (
4949 dData , new Float32Array ( [ 9 , 12 , 15 , 19 , 26 , 33 ] ) ) ;
@@ -120,7 +120,7 @@ describeWebGPU('backend webgpu', () => {
120120 tf . ENV . set ( 'WEBGPU_IMMEDIATE_EXECUTION_ENABLED' , savedFlag ) ;
121121 } ) ;
122122
123- it ( 'should recycle buffers in delayed mode' , ( ) => {
123+ it ( 'should not recycle buffers in delayed mode' , ( ) => {
124124 const savedFlag = tf . ENV . get ( 'WEBGPU_IMMEDIATE_EXECUTION_ENABLED' ) ;
125125 tf . ENV . set ( 'WEBGPU_IMMEDIATE_EXECUTION_ENABLED' , false ) ;
126126 const backend = tf . backend ( ) as WebGPUBackend ;
@@ -139,8 +139,8 @@ describeWebGPU('backend webgpu', () => {
139139 const freeBuffersAfterFirstMatMul = bufferManager . getNumFreeBuffers ( ) ;
140140 const usedBuffersAfterFirstMatMul = bufferManager . getNumUsedBuffers ( ) ;
141141 expect ( freeBuffersAfterFirstMatMul - freeBuffersAfterFirstMul )
142- . toEqual ( 1 ) ; // from released uniform
143- expect ( usedBuffersAfterFirstMatMul - usedBuffersAfterFirstMul ) . toEqual ( 2 ) ;
142+ . toEqual ( 0 ) ;
143+ expect ( usedBuffersAfterFirstMatMul - usedBuffersAfterFirstMul ) . toEqual ( 3 ) ;
144144
145145 const a2 = tf . tensor2d ( [ 2 , 4 , 6 , 8 ] , [ 2 , 2 ] ) ;
146146 const b2 = tf . tensor2d ( [ 0.5 , 0.5 , 0.5 , 0.5 ] , [ 2 , 2 ] ) ;
@@ -149,15 +149,15 @@ describeWebGPU('backend webgpu', () => {
149149 const freeBuffersAfterSecondMul = bufferManager . getNumFreeBuffers ( ) ;
150150 const usedBuffersAfterSecondMul = bufferManager . getNumUsedBuffers ( ) ;
151151 expect ( freeBuffersAfterSecondMul - freeBuffersAfterFirstMatMul )
152- . toEqual ( 0 ) ; // released a uniform buffer and reused a buffer
153- expect ( usedBuffersAfterSecondMul - usedBuffersAfterFirstMatMul ) . toEqual ( 3 ) ;
152+ . toEqual ( 0 ) ;
153+ expect ( usedBuffersAfterSecondMul - usedBuffersAfterFirstMatMul ) . toEqual ( 4 ) ;
154154
155155 const f2 = tf . tensor2d ( [ 1 , 2 , 3 , 4 , 5 , 6 ] , [ 2 , 3 ] ) ;
156156 tf . matMul ( c2 , f2 ) ;
157157 const freeBuffersAfterSecondMatMul = bufferManager . getNumFreeBuffers ( ) ;
158158 const usedBuffersAfterSecondMatMul = bufferManager . getNumUsedBuffers ( ) ;
159159 expect ( freeBuffersAfterSecondMatMul - freeBuffersAfterSecondMul ) . toEqual ( 0 ) ;
160- expect ( usedBuffersAfterSecondMatMul - usedBuffersAfterSecondMul ) . toEqual ( 2 ) ;
160+ expect ( usedBuffersAfterSecondMatMul - usedBuffersAfterSecondMul ) . toEqual ( 3 ) ;
161161 tf . ENV . set ( 'WEBGPU_IMMEDIATE_EXECUTION_ENABLED' , savedFlag ) ;
162162 } ) ;
163163
@@ -174,4 +174,4 @@ describeWebGPU('backend webgpu', () => {
174174 // Now that data has been downloaded to the CPU, dataSync should work.
175175 expect ( ( ) => c . dataSync ( ) ) . not . toThrow ( ) ;
176176 } ) ;
177- } ) ;
177+ } ) ;
0 commit comments