sentis-samples icon indicating copy to clipboard operation
sentis-samples copied to clipboard

Runtime burst compilation warning on Tensor<float>.Upload

Open filterdev opened this issue 1 month ago • 0 comments

Using Inference Engine 2.3.0 in Unity 6000.2.

I am receiving a warning only the very first time I upload new Tensor data to a Tensor:

TextureConverter.ToTensor( input, inputImageTensor, new TextureTransform( ));
//no warning after this

await Task.Delay( 10000 );

var queryPointNormalized = new Vector2((( float ) queryPoint.x ) / input.width, (( float ) queryPoint.y ) / input.height );
decoderInputs[ "point_coords" ].Upload( new float[ ]{ queryPointNormalized.x * 1024, queryPointNormalized.y * 1024 });
decoderInputs[ "orig_im_size" ].Upload( new float[ ]{ input.height, input.width });
//warning throws after this

await Task.Delay( 10000 );

await RunScheduleInChunks( encoder.ScheduleIterable( inputImageTensor ), encoderMaxLayersPerFrame );

decoder.SetInput( "image_embeddings", encoder.PeekOutput( "embeddings" ) as Tensor< float >); 
await RunScheduleInChunks( decoder.ScheduleIterable( ), decoderMaxLayersPerFrame );
TextureConverter.RenderToTexture( decoder.PeekOutput( "masks" ) as Tensor< float >, output, outputTransform );
var request = await AsyncGPUReadback.RequestAsync( output );

The warning:

Compilation was requested for method Unity.Jobs.IJobExtensions+JobStruct1[[Unity.InferenceEngine.CPUBackend+CopyJob1[[System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], Unity.InferenceEngine, Version=2.3.0.0, Culture=neutral, PublicKeyToken=null]], UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null::Execute(Unity.InferenceEngine.CPUBackend+CopyJob1[[System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]&, Unity.InferenceEngine, Version=2.3.0.0, Culture=neutral, PublicKeyToken=null|System.IntPtr, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|System.IntPtr, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Unity.Jobs.LowLevel.Unsafe.JobRanges&, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null|System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)` but it is not a known Burst entry point. This may be because the [BurstCompile] method is defined in a generic class, and the generic class is not instantiated with concrete types anywhere in your code.

Subsequent uploads do not trigger the warning again. Any ideas why this happens and how it can be fixed?

filterdev avatar Oct 28 '25 12:10 filterdev