Open
Conversation
Adds four new LURE packages: - vc4c-stdlib-git: Standard library headers for VC4C compiler - vc4c-git: OpenCL to VideoCore IV compiler - vc4cl-git: OpenCL 1.2 runtime for VideoCore IV GPU - clinfo-git: OpenCL platform/device info tool Key notes: - Only works on Raspberry Pi 1-3 (VideoCore IV) - Does NOT work on Pi 4/5 (different GPU) - 64-bit ARM (aarch64) has known SIGBUS issues - Requires 32-bit kernel or 32-bit Raspberry Pi OS - Use make -j1 on Pi 3B to avoid OOM during compilation - Debian version format requires versions starting with digit See individual README.md files for detailed lessons learned.
vc4c-git: - Add VC4CL_STDLIB_DIR to point to installed stdlib headers - Disable VC4CL_STDLIB_PRECOMPILE to avoid permission errors during build vc4cl-git: - Add ocl-icd-dev to build dependencies for ICD support - Enable BUILD_ICD for proper OpenCL ICD loader integration - Disable INCLUDE_COMPILER to avoid runtime crash in libVC4CC Tested on Raspberry Pi 3B+ with 32-bit Bookworm. clinfo now works.
vc4cl-git: - Enable BUILD_ICD for OpenCL ICD loader integration - Enable INCLUDE_COMPILER for online kernel compilation - Add ocl-icd-dev build dependency Tested on Raspberry Pi 3B+ (32-bit Bookworm): - clinfo detects VideoCore IV GPU - Compiler Available: Yes - Successfully compiled and executed vector_add kernel on GPU
- clinfo-git: OpenCL platform/device info tool - vc4c-stdlib-git: VC4C standard library headers - vc4c-git: VC4C OpenCL compiler (uses LLVM 14 for C++14 compatibility) - vc4cl-git: VC4CL OpenCL runtime for VideoCore IV GPU All packages build successfully on x86_64 (cross-platform). Designed for Raspberry Pi 1-3 (not Pi 4/5). Key fixes: - Use LLVM 14 instead of LLVM 18 to avoid C++17/C++14 conflicts - Use GCC compiler with LLVM 14 libraries - Single-threaded builds to avoid OOM on Pi 3B - Debian-compliant version format (0.0.0.r%s.%s)
- llvm70: LLVM 7.0.1 toolchain installed to /opt/llvm70 - clang70: Clang 7.0.1 frontend for LLVM 7.0 - beignet-git: Intel OpenCL driver for IvyBridge/Haswell iGPUs Beignet requires LLVM 7.0 as modern LLVM versions (11+) have incompatible API changes. These packages provide a self-contained LLVM 7.0 installation that doesn't conflict with system LLVM. Tested on Ubuntu 24.04 with Intel HD Graphics Haswell GT2.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.