@@ -508,6 +508,11 @@ pi_result piDeviceGetInfo(pi_device Device, pi_device_info ParamName,
508
508
return ReturnValue (size_t {8192 });
509
509
case PI_DEVICE_INFO_HOST_UNIFIED_MEMORY:
510
510
return ReturnValue (pi_bool{1 });
511
+ case PI_DEVICE_INFO_EXTENSIONS:
512
+ // TODO : Populate return string accordingly - e.g. cl_khr_fp16,
513
+ // cl_khr_fp64, cl_khr_int64_base_atomics,
514
+ // cl_khr_int64_extended_atomics
515
+ return ReturnValue (" " );
511
516
512
517
#define UNSUPPORTED_INFO (info ) \
513
518
case info: \
@@ -518,7 +523,6 @@ pi_result piDeviceGetInfo(pi_device Device, pi_device_info ParamName,
518
523
break ;
519
524
520
525
UNSUPPORTED_INFO (PI_DEVICE_INFO_VENDOR_ID)
521
- UNSUPPORTED_INFO (PI_DEVICE_INFO_EXTENSIONS)
522
526
UNSUPPORTED_INFO (PI_DEVICE_INFO_COMPILER_AVAILABLE)
523
527
UNSUPPORTED_INFO (PI_DEVICE_INFO_LINKER_AVAILABLE)
524
528
UNSUPPORTED_INFO (PI_DEVICE_INFO_MAX_COMPUTE_UNITS)
@@ -756,7 +760,8 @@ pi_result piMemBufferCreate(pi_context Context, pi_mem_flags Flags, size_t Size,
756
760
const pi_mem_properties *properties) {
757
761
if ((Flags & PI_MEM_FLAGS_ACCESS_RW) == 0 ) {
758
762
if (PrintPiTrace) {
759
- std::cerr << " Invalid memory attribute for piMemBufferCreate" ;
763
+ std::cerr << " Invalid memory attribute for piMemBufferCreate"
764
+ << std::endl;
760
765
}
761
766
return PI_INVALID_OPERATION;
762
767
}
@@ -881,7 +886,7 @@ pi_result piMemImageCreate(pi_context Context, pi_mem_flags Flags,
881
886
pi_mem *RetImage) {
882
887
if ((Flags & PI_MEM_FLAGS_ACCESS_RW) == 0 ) {
883
888
if (PrintPiTrace) {
884
- std::cerr << " Invalid memory attribute for piMemImageCreate" ;
889
+ std::cerr << " Invalid memory attribute for piMemImageCreate" << std::endl ;
885
890
}
886
891
return PI_INVALID_OPERATION;
887
892
}
@@ -1513,9 +1518,19 @@ pi_result piextProgramSetSpecializationConstant(pi_program, pi_uint32, size_t,
1513
1518
DIE_NO_IMPLEMENTATION;
1514
1519
}
1515
1520
1516
- pi_result piextDeviceSelectBinary (pi_device, pi_device_binary *, pi_uint32,
1517
- pi_uint32 *) {
1518
- DIE_NO_IMPLEMENTATION;
1521
+ pi_result piextDeviceSelectBinary (pi_device, pi_device_binary *,
1522
+ pi_uint32 RawImgSize, pi_uint32 *ImgInd) {
1523
+ // / TODO : Support multiple images and enable selection algorithm
1524
+ // / for the images
1525
+ if (RawImgSize != 1 ) {
1526
+ if (PrintPiTrace) {
1527
+ std::cerr << " Only single device binary image is supported in ESIMD_CPU"
1528
+ << std::endl;
1529
+ }
1530
+ return PI_INVALID_VALUE;
1531
+ }
1532
+ *ImgInd = 0 ;
1533
+ return PI_SUCCESS;
1519
1534
}
1520
1535
1521
1536
pi_result piextUSMEnqueuePrefetch (pi_queue, const void *, size_t ,
0 commit comments