Set paths for cl kernels and onnx_runner.py in modeld SConscript

old-commit-hash: 7699444816
beeps
mitchellgoffpc 2 years ago
parent faa3ee050d
commit 8a1e4d8575
  1. 7
      selfdrive/modeld/SConscript
  2. 3
      selfdrive/modeld/runners/onnxmodel.cc
  3. 2
      selfdrive/modeld/transforms/loadyuv.cc
  4. 2
      selfdrive/modeld/transforms/transform.cc

@ -60,6 +60,13 @@ else:
del libs[libs.index('SNPE')] del libs[libs.index('SNPE')]
del common_src[common_src.index('runners/snpemodel.cc')] del common_src[common_src.index('runners/snpemodel.cc')]
onnxrunner_path = File("runners/onnx_runner.py").abspath
transform_path = File("transforms/transform.cl").abspath
loadyuv_path = File("transforms/loadyuv.cl").abspath
lenv['CXXFLAGS'].append(f'-DTRANSFORM_PATH=\\"{transform_path}\\"')
lenv['CXXFLAGS'].append(f'-DLOADYUV_PATH=\\"{loadyuv_path}\\"')
lenv['CXXFLAGS'].append(f'-DONNXRUNNER_PATH=\\"{onnxrunner_path}\\"')
common_model = lenv.Object(common_src) common_model = lenv.Object(common_src)
lenv.Program('_dmonitoringmodeld', [ lenv.Program('_dmonitoringmodeld', [

@ -20,8 +20,7 @@ ONNXModel::ONNXModel(const std::string path, float *_output, size_t _output_size
err = pipe(pipeout); err = pipe(pipeout);
assert(err == 0); assert(err == 0);
std::string exe_dir = util::dir_name(util::readlink("/proc/self/exe")); std::string onnx_runner = ONNXRUNNER_PATH;
std::string onnx_runner = exe_dir + "/runners/onnx_runner.py";
std::string tf8_arg = use_tf8 ? "--use_tf8" : ""; std::string tf8_arg = use_tf8 ? "--use_tf8" : "";
proc_pid = fork(); proc_pid = fork();

@ -15,7 +15,7 @@ void loadyuv_init(LoadYUVState* s, cl_context ctx, cl_device_id device_id, int w
"-cl-fast-relaxed-math -cl-denorms-are-zero " "-cl-fast-relaxed-math -cl-denorms-are-zero "
"-DTRANSFORMED_WIDTH=%d -DTRANSFORMED_HEIGHT=%d", "-DTRANSFORMED_WIDTH=%d -DTRANSFORMED_HEIGHT=%d",
width, height); width, height);
cl_program prg = cl_program_from_file(ctx, device_id, "transforms/loadyuv.cl", args); cl_program prg = cl_program_from_file(ctx, device_id, LOADYUV_PATH, args);
s->loadys_krnl = CL_CHECK_ERR(clCreateKernel(prg, "loadys", &err)); s->loadys_krnl = CL_CHECK_ERR(clCreateKernel(prg, "loadys", &err));
s->loaduv_krnl = CL_CHECK_ERR(clCreateKernel(prg, "loaduv", &err)); s->loaduv_krnl = CL_CHECK_ERR(clCreateKernel(prg, "loaduv", &err));

@ -8,7 +8,7 @@
void transform_init(Transform* s, cl_context ctx, cl_device_id device_id) { void transform_init(Transform* s, cl_context ctx, cl_device_id device_id) {
memset(s, 0, sizeof(*s)); memset(s, 0, sizeof(*s));
cl_program prg = cl_program_from_file(ctx, device_id, "transforms/transform.cl", ""); cl_program prg = cl_program_from_file(ctx, device_id, TRANSFORM_PATH, "");
s->krnl = CL_CHECK_ERR(clCreateKernel(prg, "warpPerspective", &err)); s->krnl = CL_CHECK_ERR(clCreateKernel(prg, "warpPerspective", &err));
// done with this // done with this
CL_CHECK(clReleaseProgram(prg)); CL_CHECK(clReleaseProgram(prg));

Loading…
Cancel
Save