KhronosGroup / KhronosGroup/OpenCL-ICD-Loader

Could ICD read *.icd64 files while the loader is a 64-bit program?

Open
#137 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
304
Forks
171
Avg merge
11h 30m
Merged PRs (30d)
1

Description

For example for android, build the 32-bit loader which might be:
`/system/vendor/lib/libOpenCL.so`
and read .icd files in path:
`/system/vendor/Khronos/OpenCL/vendors/vendor*.icd`
The file vendor*.icd may contain contents like:
`/system/vendor/lib/egl/libXXX_vendor.so`

also, build 64-bit loader which might be:
`/system/vendor/lib64/libOpenCL.so`
and read .icd64 files in path:
`/system/vendor/Khronos/OpenCL/vendors/vendor*.icd64`
The file vendor*.icd64 may contain contents like:
`/system/vendor/lib64/egl/libXXX_vendor.so`

Currently I put both 32-bit and 64-bit OpenCL library path with .icd suffix, resulting in that 32-bit programs use 32-bit loader failed to load 64-bit CL library, but the loader always need to try(though each process only try once, I think it should be avoid). And as for 64-bit programs, 64-bit loader also tries to load 32-bit CL library even if it's useless.

thanks!

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the loader's Android handling for /system/vendor/Khronos/OpenCL/vendors and the 32-bit and 64-bit library paths described in the issue. Define completion as 32-bit loaders considering .icd files and 64-bit loaders considering .icd64 files, without attempting incompatible libraries; add or run coverage for both cases if the repository provides a relevant loader test.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, c
Domain
mobile, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.