@@ -517,10 +517,30 @@ ur_result_t MsanInterceptor::prepareLaunch(
517
517
getContext ()->logger .warning (" Skip checking local memory of kernel <{}> " ,
518
518
GetKernelName (Kernel));
519
519
} else {
520
- getContext ()->logger .info (" ShadowMemory(Local, WorkGroup={}, {} - {})" ,
521
- NumWG,
522
- (void *)LaunchInfo.Data ->LocalShadowOffset ,
523
- (void *)LaunchInfo.Data ->LocalShadowOffsetEnd );
520
+ getContext ()->logger .debug (" ShadowMemory(Local, WorkGroup={}, {} - {})" ,
521
+ NumWG,
522
+ (void *)LaunchInfo.Data ->LocalShadowOffset ,
523
+ (void *)LaunchInfo.Data ->LocalShadowOffsetEnd );
524
+ }
525
+ }
526
+
527
+ // Write shadow memory offset for private memory
528
+ if (KernelInfo.IsCheckPrivates ) {
529
+ if (DeviceInfo->Shadow ->AllocPrivateShadow (
530
+ Queue, NumWG, LaunchInfo.Data ->PrivateShadowOffset ,
531
+ LaunchInfo.Data ->PrivateShadowOffsetEnd ) != UR_RESULT_SUCCESS) {
532
+ getContext ()->logger .warning (
533
+ " Failed to allocate shadow memory for private "
534
+ " memory, maybe the number of workgroup ({}) is too "
535
+ " large" ,
536
+ NumWG);
537
+ getContext ()->logger .warning (
538
+ " Skip checking private memory of kernel <{}>" , GetKernelName (Kernel));
539
+ } else {
540
+ getContext ()->logger .debug (
541
+ " ShadowMemory(Private, WorkGroup={}, {} - {})" , NumWG,
542
+ (void *)LaunchInfo.Data ->PrivateShadowOffset ,
543
+ (void *)LaunchInfo.Data ->PrivateShadowOffsetEnd );
524
544
}
525
545
// Write local arguments info
526
546
if (!KernelInfo.LocalArgs .empty ()) {
@@ -535,11 +555,11 @@ ur_result_t MsanInterceptor::prepareLaunch(
535
555
}
536
556
537
557
getContext ()->logger .info (
538
- " LaunchInfo {} (GlobalShadow={}, LocalShadow={}, CleanShadow={}, "
539
- " LocalArgs={}, NumLocalArgs={}, "
540
- " Device={}, Debug={})" ,
558
+ " LaunchInfo {} (GlobalShadow={}, LocalShadow={}, PrivateShadow={}, "
559
+ " CleanShadow={}, LocalArgs={}, NumLocalArgs={}, Device={}, Debug={})" ,
541
560
(void *)LaunchInfo.Data , (void *)LaunchInfo.Data ->GlobalShadowOffset ,
542
561
(void *)LaunchInfo.Data ->LocalShadowOffset ,
562
+ (void *)LaunchInfo.Data ->PrivateShadowOffset ,
543
563
(void *)LaunchInfo.Data ->CleanShadow , (void *)LaunchInfo.Data ->LocalArgs ,
544
564
LaunchInfo.Data ->NumLocalArgs , ToString (LaunchInfo.Data ->DeviceTy ),
545
565
LaunchInfo.Data ->Debug );
0 commit comments