@@ -52,15 +52,6 @@ ur_result_t setupContext(ur_context_handle_t Context, uint32_t numDevices,
52
52
return UR_RESULT_SUCCESS;
53
53
}
54
54
55
- bool isInstrumentedKernel (ur_kernel_handle_t hKernel) {
56
- auto hProgram = GetProgram (hKernel);
57
- auto PI = getAsanInterceptor ()->getProgramInfo (hProgram);
58
- if (PI == nullptr ) {
59
- return false ;
60
- }
61
- return PI->isKernelInstrumented (hKernel);
62
- }
63
-
64
55
} // namespace
65
56
66
57
// /////////////////////////////////////////////////////////////////////////////
@@ -470,15 +461,10 @@ __urdlllocal ur_result_t UR_APICALL urEnqueueKernelLaunch(
470
461
471
462
getContext ()->logger .debug (" ==== urEnqueueKernelLaunch" );
472
463
473
- if (!isInstrumentedKernel (hKernel)) {
474
- return pfnKernelLaunch (hQueue, hKernel, workDim, pGlobalWorkOffset,
475
- pGlobalWorkSize, pLocalWorkSize,
476
- numEventsInWaitList, phEventWaitList, phEvent);
477
- }
478
-
479
464
LaunchInfo LaunchInfo (GetContext (hQueue), GetDevice (hQueue),
480
465
pGlobalWorkSize, pLocalWorkSize, pGlobalWorkOffset,
481
466
workDim);
467
+ UR_CALL (LaunchInfo.Data .syncToDevice (hQueue));
482
468
483
469
UR_CALL (getAsanInterceptor ()->preLaunchKernel (hKernel, hQueue, LaunchInfo));
484
470
@@ -1366,9 +1352,7 @@ __urdlllocal ur_result_t UR_APICALL urKernelCreate(
1366
1352
getContext ()->logger .debug (" ==== urKernelCreate" );
1367
1353
1368
1354
UR_CALL (pfnCreate (hProgram, pKernelName, phKernel));
1369
- if (isInstrumentedKernel (*phKernel)) {
1370
- UR_CALL (getAsanInterceptor ()->insertKernel (*phKernel));
1371
- }
1355
+ UR_CALL (getAsanInterceptor ()->insertKernel (*phKernel));
1372
1356
1373
1357
return UR_RESULT_SUCCESS;
1374
1358
}
@@ -1389,9 +1373,7 @@ __urdlllocal ur_result_t UR_APICALL urKernelRetain(
1389
1373
UR_CALL (pfnRetain (hKernel));
1390
1374
1391
1375
auto KernelInfo = getAsanInterceptor ()->getKernelInfo (hKernel);
1392
- if (KernelInfo) {
1393
- KernelInfo->RefCount ++;
1394
- }
1376
+ KernelInfo->RefCount ++;
1395
1377
1396
1378
return UR_RESULT_SUCCESS;
1397
1379
}
@@ -1411,10 +1393,8 @@ __urdlllocal ur_result_t urKernelRelease(
1411
1393
UR_CALL (pfnRelease (hKernel));
1412
1394
1413
1395
auto KernelInfo = getAsanInterceptor ()->getKernelInfo (hKernel);
1414
- if (KernelInfo) {
1415
- if (--KernelInfo->RefCount == 0 ) {
1416
- UR_CALL (getAsanInterceptor ()->eraseKernel (hKernel));
1417
- }
1396
+ if (--KernelInfo->RefCount == 0 ) {
1397
+ UR_CALL (getAsanInterceptor ()->eraseKernel (hKernel));
1418
1398
}
1419
1399
1420
1400
return UR_RESULT_SUCCESS;
@@ -1440,11 +1420,10 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetArgValue(
1440
1420
getContext ()->logger .debug (" ==== urKernelSetArgValue" );
1441
1421
1442
1422
std::shared_ptr<MemBuffer> MemBuffer;
1443
- std::shared_ptr<KernelInfo> KernelInfo;
1444
1423
if (argSize == sizeof (ur_mem_handle_t ) &&
1445
1424
(MemBuffer = getAsanInterceptor ()->getMemBuffer (
1446
- *ur_cast<const ur_mem_handle_t *>(pArgValue))) &&
1447
- ( KernelInfo = getAsanInterceptor ()->getKernelInfo (hKernel))) {
1425
+ *ur_cast<const ur_mem_handle_t *>(pArgValue)))) {
1426
+ auto KernelInfo = getAsanInterceptor ()->getKernelInfo (hKernel);
1448
1427
std::scoped_lock<ur_shared_mutex> Guard (KernelInfo->Mutex );
1449
1428
KernelInfo->BufferArgs [argIndex] = std::move (MemBuffer);
1450
1429
} else {
@@ -1473,9 +1452,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetArgMemObj(
1473
1452
getContext ()->logger .debug (" ==== urKernelSetArgMemObj" );
1474
1453
1475
1454
std::shared_ptr<MemBuffer> MemBuffer;
1476
- std::shared_ptr<KernelInfo> KernelInfo;
1477
- if ((MemBuffer = getAsanInterceptor ()->getMemBuffer (hArgValue)) &&
1478
- (KernelInfo = getAsanInterceptor ()->getKernelInfo (hKernel))) {
1455
+ if ((MemBuffer = getAsanInterceptor ()->getMemBuffer (hArgValue))) {
1456
+ auto KernelInfo = getAsanInterceptor ()->getKernelInfo (hKernel);
1479
1457
std::scoped_lock<ur_shared_mutex> Guard (KernelInfo->Mutex );
1480
1458
KernelInfo->BufferArgs [argIndex] = std::move (MemBuffer);
1481
1459
} else {
@@ -1505,7 +1483,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetArgLocal(
1505
1483
" ==== urKernelSetArgLocal (argIndex={}, argSize={})" , argIndex,
1506
1484
argSize);
1507
1485
1508
- if (auto KI = getAsanInterceptor ()->getKernelInfo (hKernel)) {
1486
+ {
1487
+ auto KI = getAsanInterceptor ()->getKernelInfo (hKernel);
1509
1488
std::scoped_lock<ur_shared_mutex> Guard (KI->Mutex );
1510
1489
// TODO: get local variable alignment
1511
1490
auto argSizeWithRZ = GetSizeAndRedzoneSizeForLocal (
@@ -1542,8 +1521,8 @@ __urdlllocal ur_result_t UR_APICALL urKernelSetArgPointer(
1542
1521
pArgValue);
1543
1522
1544
1523
std::shared_ptr<KernelInfo> KI;
1545
- if (getAsanInterceptor ()->getOptions ().DetectKernelArguments &&
1546
- ( KI = getAsanInterceptor ()->getKernelInfo (hKernel))) {
1524
+ if (getAsanInterceptor ()->getOptions ().DetectKernelArguments ) {
1525
+ auto KI = getAsanInterceptor ()->getKernelInfo (hKernel);
1547
1526
std::scoped_lock<ur_shared_mutex> Guard (KI->Mutex );
1548
1527
KI->PointerArgs [argIndex] = {pArgValue, GetCurrentBacktrace ()};
1549
1528
}
0 commit comments