Skip to content

Commit c817325

Browse files
author
Steffen Larsen
committed
Adds piProgramCreateWithBinary comment and makes new parameters more consistent
Signed-off-by: Steffen Larsen <[email protected]>
1 parent 177c14d commit c817325

File tree

10 files changed

+45
-30
lines changed

10 files changed

+45
-30
lines changed

sycl/include/CL/sycl/detail/pi.h

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1115,11 +1115,27 @@ __SYCL_EXPORT pi_result piclProgramCreateWithSource(pi_context context,
11151115
const size_t *lengths,
11161116
pi_program *ret_program);
11171117

1118+
/// Creates a PI program for a context and loads the given binary into it.
1119+
///
1120+
/// \param context is the PI context to associate the program with.
1121+
/// \param num_devices is the number of devices in device_list.
1122+
/// \param device_list is a pointer to a list of devices. These devices must all
1123+
/// be in context.
1124+
/// \param lengths is an array of sizes in bytes of the binary in binaries.
1125+
/// \param binaries is a pointer to a list of program binaries.
1126+
/// \param num_metadata_entries is the number of metadata entries in metadata.
1127+
/// \param metadata is a pointer to a list of program metadata entries. The
1128+
/// use of metadata entries is backend-defined.
1129+
/// \param binary_status returns whether the program binary was loaded
1130+
/// succesfully or not, for each device in device_list.
1131+
/// binary_status is ignored if it is null and otherwise
1132+
/// it must be an array of num_devices elements.
1133+
/// \param program is the PI program created from the program binaries.
11181134
__SYCL_EXPORT pi_result piProgramCreateWithBinary(
11191135
pi_context context, pi_uint32 num_devices, const pi_device *device_list,
11201136
const size_t *lengths, const unsigned char **binaries,
1121-
pi_int32 *binary_status, const pi_device_binary_property *metadata,
1122-
size_t metadata_length, pi_program *ret_program);
1137+
size_t num_metadata_entries, const pi_device_binary_property *metadata,
1138+
pi_int32 *binary_status, pi_program *ret_program);
11231139

11241140
__SYCL_EXPORT pi_result piProgramGetInfo(pi_program program,
11251141
pi_program_info param_name,

sycl/plugins/cuda/pi_cuda.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2877,8 +2877,8 @@ pi_result cuda_piProgramCreate(pi_context, const void *, size_t, pi_program *) {
28772877
pi_result cuda_piProgramCreateWithBinary(
28782878
pi_context context, pi_uint32 num_devices, const pi_device *device_list,
28792879
const size_t *lengths, const unsigned char **binaries,
2880-
pi_int32 *binary_status, const pi_device_binary_property *metadata,
2881-
size_t metadata_length, pi_program *program) {
2880+
size_t num_metadata_entries, const pi_device_binary_property *metadata,
2881+
pi_int32 *binary_status, pi_program *program) {
28822882
// Ignore unused parameter
28832883
(void)binary_status;
28842884

@@ -2895,7 +2895,7 @@ pi_result cuda_piProgramCreateWithBinary(
28952895

28962896
std::unique_ptr<_pi_program> retProgram{new _pi_program{context}};
28972897

2898-
retProgram->set_metadata(metadata, metadata_length);
2898+
retProgram->set_metadata(metadata, num_metadata_entries);
28992899

29002900
const bool has_length = (lengths != nullptr);
29012901
size_t length = has_length

sycl/plugins/esimd_cpu/pi_esimd_cpu.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -740,9 +740,8 @@ pi_result piProgramCreate(pi_context, const void *, size_t, pi_program *) {
740740

741741
pi_result piProgramCreateWithBinary(pi_context, pi_uint32, const pi_device *,
742742
const size_t *, const unsigned char **,
743-
pi_int32 *,
744-
const pi_device_binary_property *, size_t,
745-
pi_program *) {
743+
size_t, const pi_device_binary_property *,
744+
pi_int32 *, pi_program *) {
746745
DIE_NO_IMPLEMENTATION;
747746
return PI_SUCCESS;
748747
}

sycl/plugins/level_zero/pi_level_zero.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2939,10 +2939,10 @@ pi_result piProgramCreate(pi_context Context, const void *ILBytes,
29392939
pi_result piProgramCreateWithBinary(
29402940
pi_context Context, pi_uint32 NumDevices, const pi_device *DeviceList,
29412941
const size_t *Lengths, const unsigned char **Binaries,
2942-
pi_int32 *BinaryStatus, const pi_device_binary_property *Metadata,
2943-
size_t MetadataLength, pi_program *Program) {
2942+
size_t NumMetadataEntries, const pi_device_binary_property *Metadata,
2943+
pi_int32 *BinaryStatus, pi_program *Program) {
29442944
(void)Metadata;
2945-
(void)MetadataLength;
2945+
(void)NumMetadataEntries;
29462946

29472947
PI_ASSERT(Context, PI_INVALID_CONTEXT);
29482948
PI_ASSERT(DeviceList && NumDevices, PI_INVALID_VALUE);

sycl/plugins/opencl/pi_opencl.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -638,10 +638,10 @@ pi_result piclProgramCreateWithSource(pi_context context, pi_uint32 count,
638638
pi_result piProgramCreateWithBinary(
639639
pi_context context, pi_uint32 num_devices, const pi_device *device_list,
640640
const size_t *lengths, const unsigned char **binaries,
641-
pi_int32 *binary_status, const pi_device_binary_property *metadata,
642-
size_t metadata_length, pi_program *ret_program) {
641+
size_t num_metadata_entries, const pi_device_binary_property *metadata,
642+
pi_int32 *binary_status, pi_program *ret_program) {
643643
(void)metadata;
644-
(void)metadata_length;
644+
(void)num_metadata_entries;
645645

646646
pi_result ret_err = PI_INVALID_OPERATION;
647647
*ret_program = cast<pi_program>(clCreateProgramWithBinary(

sycl/plugins/rocm/pi_rocm.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2742,8 +2742,8 @@ pi_result rocm_piProgramCreate(pi_context context, const void *il,
27422742
pi_result rocm_piProgramCreateWithBinary(
27432743
pi_context context, pi_uint32 num_devices, const pi_device *device_list,
27442744
const size_t *lengths, const unsigned char **binaries,
2745-
pi_int32 *binary_status, const pi_device_binary_property *metadata,
2746-
size_t metadata_length, pi_program *program) {
2745+
size_t num_metadata_entries, const pi_device_binary_property *metadata,
2746+
pi_int32 *binary_status, pi_program *program) {
27472747
assert(context != nullptr);
27482748
assert(binaries != nullptr);
27492749
assert(program != nullptr);

sycl/source/detail/program_manager/program_manager.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ createBinaryProgram(const ContextImplPtr Context, const device &Device,
8484
pi_int32 BinaryStatus = CL_SUCCESS;
8585
Plugin.call<PiApiKind::piProgramCreateWithBinary>(
8686
Context->getHandleRef(), 1 /*one binary*/, &PiDevice, &DataLen, &Data,
87-
&BinaryStatus, Metadata.data(), Metadata.size(), &Program);
87+
Metadata.size(), Metadata.data(), &BinaryStatus, &Program);
8888

8989
if (BinaryStatus != CL_SUCCESS) {
9090
throw runtime_error("Creating program with binary failed.", BinaryStatus);

sycl/unittests/kernel-and-program/Cache.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,8 @@ static pi_result redefinedProgramCreateWithSource(pi_context context,
102102
static pi_result redefinedProgramCreateWithBinary(
103103
pi_context context, pi_uint32 num_devices, const pi_device *device_list,
104104
const size_t *lengths, const unsigned char **binaries,
105-
pi_int32 *binary_status, const pi_device_binary_property *metadata,
106-
size_t metadata_length, pi_program *ret_program) {
105+
size_t metadata_length, const pi_device_binary_property *metadata,
106+
pi_int32 *binary_status, pi_program *ret_program) {
107107
*ret_program = reinterpret_cast<pi_program>(1);
108108
return PI_SUCCESS;
109109
}

sycl/unittests/misc/KernelBuildOptions.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,8 @@ static pi_result redefinedProgramCreateWithSource(pi_context context,
142142
static pi_result redefinedProgramCreateWithBinary(
143143
pi_context context, pi_uint32 num_devices, const pi_device *device_list,
144144
const size_t *lengths, const unsigned char **binaries,
145-
pi_int32 *binary_status, const pi_device_binary_property *metadata,
146-
size_t metadata_length, pi_program *ret_program) {
145+
size_t num_metadata_entries, const pi_device_binary_property *metadata,
146+
pi_int32 *binary_status, pi_program *ret_program) {
147147
return PI_SUCCESS;
148148
}
149149

sycl/unittests/pi/cuda/test_kernels.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ TEST_F(CudaKernelsTest, PICreateProgramAndKernel) {
142142
ASSERT_EQ(
143143
(plugin->call_nocheck<detail::PiApiKind::piProgramCreateWithBinary>(
144144
context_, 1, &device_, nullptr, (const unsigned char **)&ptxSource,
145-
&binary_status, nullptr, 0, &prog)),
145+
0, nullptr, &binary_status, &prog)),
146146
PI_SUCCESS);
147147

148148
ASSERT_EQ((plugin->call_nocheck<detail::PiApiKind::piProgramBuild>(
@@ -187,7 +187,7 @@ TEST_F(CudaKernelsTest, PICreateProgramAndKernelWithMetadata) {
187187
ASSERT_EQ(
188188
(plugin.call_nocheck<detail::PiApiKind::piProgramCreateWithBinary>(
189189
context_, 1, &device_, nullptr, (const unsigned char **)&ptxSource,
190-
&binary_status, &reqdWorkGroupSizeMDPropPointer, 1, &prog)),
190+
1, &reqdWorkGroupSizeMDPropPointer, &binary_status, &prog)),
191191
PI_SUCCESS);
192192

193193
ASSERT_EQ((plugin.call_nocheck<detail::PiApiKind::piProgramBuild>(
@@ -220,7 +220,7 @@ TEST_F(CudaKernelsTest, PIKernelArgumentSimple) {
220220
ASSERT_EQ(
221221
(plugin->call_nocheck<detail::PiApiKind::piProgramCreateWithBinary>(
222222
context_, 1, &device_, nullptr, (const unsigned char **)&ptxSource,
223-
&binary_status, nullptr, 0, &prog)),
223+
0, nullptr, &binary_status, &prog)),
224224
PI_SUCCESS);
225225
ASSERT_EQ(binary_status, PI_SUCCESS);
226226

@@ -250,7 +250,7 @@ TEST_F(CudaKernelsTest, PIKernelArgumentSetTwice) {
250250
ASSERT_EQ(
251251
(plugin->call_nocheck<detail::PiApiKind::piProgramCreateWithBinary>(
252252
context_, 1, &device_, nullptr, (const unsigned char **)&ptxSource,
253-
&binary_status, nullptr, 0, &prog)),
253+
0, nullptr, &binary_status, &prog)),
254254
PI_SUCCESS);
255255
ASSERT_EQ(binary_status, PI_SUCCESS);
256256

@@ -289,7 +289,7 @@ TEST_F(CudaKernelsTest, PIKernelSetMemObj) {
289289
ASSERT_EQ(
290290
(plugin->call_nocheck<detail::PiApiKind::piProgramCreateWithBinary>(
291291
context_, 1, &device_, nullptr, (const unsigned char **)&ptxSource,
292-
&binary_status, nullptr, 0, &prog)),
292+
0, nullptr, &binary_status, &prog)),
293293
PI_SUCCESS);
294294
ASSERT_EQ(binary_status, PI_SUCCESS);
295295

@@ -325,7 +325,7 @@ TEST_F(CudaKernelsTest, PIkerneldispatch) {
325325
ASSERT_EQ(
326326
(plugin->call_nocheck<detail::PiApiKind::piProgramCreateWithBinary>(
327327
context_, 1, &device_, nullptr, (const unsigned char **)&ptxSource,
328-
&binary_status, nullptr, 0, &prog)),
328+
0, nullptr, &binary_status, &prog)),
329329
PI_SUCCESS);
330330
ASSERT_EQ(binary_status, PI_SUCCESS);
331331

@@ -369,7 +369,7 @@ TEST_F(CudaKernelsTest, PIkerneldispatchTwo) {
369369
ASSERT_EQ(
370370
(plugin->call_nocheck<detail::PiApiKind::piProgramCreateWithBinary>(
371371
context_, 1, &device_, nullptr, (const unsigned char **)&twoParams,
372-
&binary_status, nullptr, 0, &prog)),
372+
0, nullptr, &binary_status, &prog)),
373373
PI_SUCCESS);
374374
ASSERT_EQ(binary_status, PI_SUCCESS);
375375

@@ -424,8 +424,8 @@ TEST_F(CudaKernelsTest, PIKernelArgumentSetTwiceOneLocal) {
424424
pi_int32 binary_status = PI_SUCCESS;
425425
ASSERT_EQ((plugin->call_nocheck<detail::PiApiKind::piProgramCreateWithBinary>(
426426
context_, 1, &device_, nullptr,
427-
(const unsigned char **)&threeParamsTwoLocal, &binary_status,
428-
nullptr, 0, &prog)),
427+
(const unsigned char **)&threeParamsTwoLocal, 0, nullptr,
428+
&binary_status, &prog)),
429429
PI_SUCCESS);
430430
ASSERT_EQ(binary_status, PI_SUCCESS);
431431

0 commit comments

Comments
 (0)