Skip to content

Commit 5b37dc1

Browse files
Add ExecutionEnvironment parameter to Program::createFromGenBinary
Change-Id: I825c29d8c885d986d54d716ea72f19e70b3b11c6 Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
1 parent 01dae21 commit 5b37dc1

File tree

14 files changed

+46
-26
lines changed

14 files changed

+46
-26
lines changed

runtime/built_ins/built_ins.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,8 @@ SchedulerKernel &BuiltIns::getSchedulerKernel(Context &context) {
8686

8787
auto src = getInstance().builtinsLib->getBuiltinCode(EBuiltInOps::Scheduler, BuiltinCode::ECodeType::Any, *context.getDevice(0));
8888

89-
auto program = Program::createFromGenBinary(&context,
89+
auto program = Program::createFromGenBinary(*context.getDevice(0)->getExecutionEnvironment(),
90+
&context,
9091
src.resource.data(),
9192
src.resource.size(),
9293
true,
@@ -131,7 +132,8 @@ const SipKernel &BuiltIns::getSipKernel(SipKernelType type, Device &device) {
131132

132133
UNRECOVERABLE_IF(ret != CL_SUCCESS);
133134
UNRECOVERABLE_IF(sipBinary.size() == 0);
134-
auto program = createProgramForSip(nullptr,
135+
auto program = createProgramForSip(*device.getExecutionEnvironment(),
136+
nullptr,
135137
sipBinary,
136138
sipBinary.size(),
137139
&retVal);

runtime/built_ins/built_ins_storage.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ std::unique_ptr<Program> BuiltinsLib::createProgramFromCode(const BuiltinCode &b
199199
ret.reset(Program::create(data, &context, device, true, &err));
200200
break;
201201
case BuiltinCode::ECodeType::Binary:
202-
ret.reset(Program::createFromGenBinary(&context, data, dataLen, true, nullptr));
202+
ret.reset(Program::createFromGenBinary(*device.getExecutionEnvironment(), &context, data, dataLen, true, nullptr));
203203
break;
204204
}
205205
return ret;

runtime/helpers/built_ins_helper.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,23 @@
2020
* OTHER DEALINGS IN THE SOFTWARE.
2121
*/
2222

23+
#include "runtime/execution_environment/execution_environment.h"
2324
#include "runtime/helpers/built_ins_helper.h"
2425
#include "runtime/program/program.h"
2526

2627
namespace OCLRT {
2728
const SipKernel &initSipKernel(SipKernelType type, Device &device) {
2829
return BuiltIns::getInstance().getSipKernel(type, device);
2930
}
30-
Program *createProgramForSip(Context *context,
31+
Program *createProgramForSip(ExecutionEnvironment &executionEnvironment,
32+
Context *context,
3133
std::vector<char> &binary,
3234
size_t size,
3335
cl_int *errcodeRet) {
3436

3537
cl_int retVal = 0;
36-
auto program = Program::createFromGenBinary(nullptr,
38+
auto program = Program::createFromGenBinary(executionEnvironment,
39+
nullptr,
3740
binary.data(),
3841
size,
3942
true,

runtime/helpers/built_ins_helper.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,14 @@
2121
*/
2222

2323
#pragma once
24+
#include "runtime/execution_environment/execution_environment.h"
2425
#include "runtime/built_ins/built_ins.h"
2526

2627
namespace OCLRT {
2728

2829
const SipKernel &initSipKernel(SipKernelType type, Device &device);
29-
Program *createProgramForSip(Context *context,
30+
Program *createProgramForSip(ExecutionEnvironment &executionEnvironment,
31+
Context *context,
3032
std::vector<char> &binary,
3133
size_t size,
3234
cl_int *errcodeRet);

runtime/program/create.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,5 @@ template Program *Program::create<Program>(cl_context, cl_uint, const cl_device_
2828
template Program *Program::create<Program>(cl_context, cl_uint, const char **, const size_t *, cl_int &);
2929
template Program *Program::create<Program>(const char *, Context *, Device &, bool, cl_int *);
3030
template Program *Program::createFromIL<Program>(Context *, const void *, size_t length, cl_int &);
31-
template Program *Program::createFromGenBinary<Program>(Context *context, const void *binary, size_t size, bool isBuiltIn, cl_int *errcodeRet);
31+
template Program *Program::createFromGenBinary<Program>(ExecutionEnvironment &executionEnvironment, Context *context, const void *binary, size_t size, bool isBuiltIn, cl_int *errcodeRet);
3232
} // namespace OCLRT

runtime/program/create.inl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ T *Program::create(
122122

123123
template <typename T>
124124
T *Program::createFromGenBinary(
125+
ExecutionEnvironment &executionEnvironment,
125126
Context *context,
126127
const void *binary,
127128
size_t size,

runtime/program/program.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ class Program : public BaseObject<_cl_program> {
8282

8383
template <typename T = Program>
8484
static T *createFromGenBinary(
85+
ExecutionEnvironment &executionEnvironment,
8586
Context *context,
8687
const void *binary,
8788
size_t size,

unit_tests/built_ins/built_in_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1719,7 +1719,7 @@ TEST_F(BuiltInTests, getSipKernelReturnsProgramCreatedOutOfIsaAcquiredFromCompil
17191719
mockCompilerInterface.overrideGlobalCompilerInterface();
17201720
mockCompilerInterface.sipKernelBinaryOverride = mockCompilerInterface.getDummyGenBinary();
17211721
cl_int errCode = CL_BUILD_PROGRAM_FAILURE;
1722-
auto p = Program::createFromGenBinary(pContext, mockCompilerInterface.sipKernelBinaryOverride.data(), mockCompilerInterface.sipKernelBinaryOverride.size(),
1722+
auto p = Program::createFromGenBinary(*pDevice->getExecutionEnvironment(), pContext, mockCompilerInterface.sipKernelBinaryOverride.data(), mockCompilerInterface.sipKernelBinaryOverride.size(),
17231723
false, &errCode);
17241724
ASSERT_EQ(CL_SUCCESS, errCode);
17251725
errCode = p->processGenBinary();

unit_tests/gtpin/gtpin_tests.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,7 @@ TEST_F(GTPinTests, givenInitializedGTPinInterfaceWhenKernelWithoutSSHIsUsedThenK
844844
// Prepare a kernel without SSH
845845
char binary[1024] = {1, 2, 3, 4, 5, 6, 7, 8, 9, '\0'};
846846
size_t binSize = 10;
847-
Program *pProgram = Program::createFromGenBinary(pContext, &binary[0], binSize, false, &retVal);
847+
Program *pProgram = Program::createFromGenBinary(*pDevice->getExecutionEnvironment(), pContext, &binary[0], binSize, false, &retVal);
848848
ASSERT_NE(nullptr, pProgram);
849849
EXPECT_EQ(CL_SUCCESS, retVal);
850850

@@ -932,7 +932,7 @@ TEST_F(GTPinTests, givenInitializedGTPinInterfaceWhenKernelWithExecEnvIsUsedThen
932932
// Prepare a kernel with fake Execution Environment
933933
char binary[1024] = {1, 2, 3, 4, 5, 6, 7, 8, 9, '\0'};
934934
size_t binSize = 10;
935-
Program *pProgram = Program::createFromGenBinary(pContext, &binary[0], binSize, false, &retVal);
935+
Program *pProgram = Program::createFromGenBinary(*pDevice->getExecutionEnvironment(), pContext, &binary[0], binSize, false, &retVal);
936936
ASSERT_NE(nullptr, pProgram);
937937
EXPECT_EQ(CL_SUCCESS, retVal);
938938

@@ -1938,7 +1938,7 @@ TEST_F(GTPinTests, givenInitializedGTPinInterfaceWhenLowMemoryConditionOccursThe
19381938
// Prepare a program with one kernel having Stateless Private Surface
19391939
char binary[1024] = {1, 2, 3, 4, 5, 6, 7, 8, 9, '\0'};
19401940
size_t binSize = 10;
1941-
Program *pProgram = Program::createFromGenBinary(pContext, &binary[0], binSize, false, &retVal);
1941+
Program *pProgram = Program::createFromGenBinary(*pDevice->getExecutionEnvironment(), pContext, &binary[0], binSize, false, &retVal);
19421942
ASSERT_NE(nullptr, pProgram);
19431943
EXPECT_EQ(CL_SUCCESS, retVal);
19441944

@@ -2299,7 +2299,7 @@ TEST_F(ProgramTests, givenGenBinaryWithGtpinInfoWhenProcessGenBinaryCalledThenGt
22992299
char genBin[1024] = {1, 2, 3, 4, 5, 6, 7, 8, 9, '\0'};
23002300
size_t binSize = 10;
23012301

2302-
std::unique_ptr<Program> pProgram(Program::createFromGenBinary(nullptr, &genBin[0], binSize, false, &retVal));
2302+
std::unique_ptr<Program> pProgram(Program::createFromGenBinary(*pDevice->getExecutionEnvironment(), nullptr, &genBin[0], binSize, false, &retVal));
23032303
EXPECT_NE(nullptr, pProgram.get());
23042304
EXPECT_EQ(CL_SUCCESS, retVal);
23052305
EXPECT_EQ((uint32_t)CL_PROGRAM_BINARY_TYPE_EXECUTABLE, (uint32_t)pProgram->getProgramBinaryType());

unit_tests/helpers/built_ins_helper.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
* OTHER DEALINGS IN THE SOFTWARE.
2121
*/
2222

23+
#include "runtime/execution_environment/execution_environment.h"
2324
#include "runtime/helpers/built_ins_helper.h"
2425
#include "unit_tests/mocks/mock_compilers.h"
2526
#include "unit_tests/mocks/mock_program.h"
@@ -31,7 +32,8 @@ const SipKernel &initSipKernel(SipKernelType type, Device &device) {
3132
mockCompilerInterface->sipKernelBinaryOverride = mockCompilerInterface->getDummyGenBinary();
3233
return BuiltIns::getInstance().getSipKernel(type, device);
3334
}
34-
Program *createProgramForSip(Context *context,
35+
Program *createProgramForSip(ExecutionEnvironment &executionEnvironment,
36+
Context *context,
3537
std::vector<char> &binary,
3638
size_t size,
3739
cl_int *errcodeRet) {

0 commit comments

Comments
 (0)