@@ -2455,13 +2455,16 @@ overhead::Init();
2455
2455
PTI_ASSERT (!name.empty ());
2456
2456
2457
2457
std::string direction;
2458
+ ze_device_handle_t hSrcDevice = nullptr ;
2459
+ ze_device_handle_t hDstDevice = nullptr ;
2460
+ bool p2p = false ;
2458
2461
2459
2462
if (src_context != nullptr && src != nullptr ) {
2460
2463
ze_memory_allocation_properties_t props;
2461
2464
props.stype = ZE_STRUCTURE_TYPE_MEMORY_ALLOCATION_PROPERTIES;
2462
2465
props.pNext = nullptr ;
2463
2466
overhead::Init ();
2464
- ze_result_t status = zeMemGetAllocProperties (src_context, src, &props, nullptr );
2467
+ ze_result_t status = zeMemGetAllocProperties (src_context, src, &props, &hSrcDevice );
2465
2468
{
2466
2469
std::string o_api_string = " zeMemGetAllocProperties" ;
2467
2470
overhead::FiniLevel0 (overhead::OverheadRuntimeType::OVERHEAD_RUNTIME_TYPE_L0,
@@ -2472,17 +2475,22 @@ overhead::Init();
2472
2475
switch (props.type ) {
2473
2476
case ZE_MEMORY_TYPE_UNKNOWN:
2474
2477
direction.push_back (' M' );
2478
+ p2p = false ;
2475
2479
break ;
2476
2480
case ZE_MEMORY_TYPE_HOST:
2477
2481
direction.push_back (' H' );
2482
+ p2p = false ;
2478
2483
break ;
2479
2484
case ZE_MEMORY_TYPE_DEVICE:
2480
2485
direction.push_back (' D' );
2486
+ p2p = true ;
2481
2487
break ;
2482
2488
case ZE_MEMORY_TYPE_SHARED:
2483
2489
direction.push_back (' S' );
2490
+ p2p = true ;
2484
2491
break ;
2485
2492
default :
2493
+ p2p = false ;
2486
2494
break ;
2487
2495
}
2488
2496
}
@@ -2493,7 +2501,7 @@ overhead::Init();
2493
2501
props.pNext = nullptr ;
2494
2502
props.pNext = nullptr ;
2495
2503
overhead::Init ();
2496
- ze_result_t status = zeMemGetAllocProperties (dst_context, dst, &props, nullptr );
2504
+ ze_result_t status = zeMemGetAllocProperties (dst_context, dst, &props, &hDstDevice );
2497
2505
{
2498
2506
std::string o_api_string = " zeMemGetAllocProperties" ;
2499
2507
overhead::FiniLevel0 (overhead::OverheadRuntimeType::OVERHEAD_RUNTIME_TYPE_L0,
@@ -2505,9 +2513,11 @@ overhead::Init();
2505
2513
switch (props.type ) {
2506
2514
case ZE_MEMORY_TYPE_UNKNOWN:
2507
2515
direction.push_back (' M' );
2516
+ p2p = false ;
2508
2517
break ;
2509
2518
case ZE_MEMORY_TYPE_HOST:
2510
2519
direction.push_back (' H' );
2520
+ p2p = false ;
2511
2521
break ;
2512
2522
case ZE_MEMORY_TYPE_DEVICE:
2513
2523
direction.push_back (' D' );
@@ -2516,11 +2526,13 @@ overhead::Init();
2516
2526
direction.push_back (' S' );
2517
2527
break ;
2518
2528
default :
2529
+ p2p = false ;
2519
2530
break ;
2520
2531
}
2521
2532
}
2522
2533
2523
2534
if (!direction.empty ()) {
2535
+ if (p2p && hSrcDevice && hDstDevice && (hSrcDevice != hDstDevice)) direction.append (" - P2P" );
2524
2536
name += " (" + direction + " )" ;
2525
2537
}
2526
2538
0 commit comments