Click here to Skip to main content
15,890,579 members
Articles / Internet of Things / Raspberry-Pi / RaspberryPi4

Parallel Heterogeneous Programming In C++17/2x0 Using CL/SYCL-Model Specification On Raspberry Pi 4B+ IoT-Boards

Rate me:
Please Sign up or sign in to vote.
5.00/5 (6 votes)
10 Dec 2020CPOL24 min read 12.4K   8  
A practical guide for building parallel CL/SYCL-code in, C++17, targeting Arm/AArch64-architectures and running it on Raspberry Pi 4B+ IoT-boards
This article provides useful guidelines, tips and the tutorial for building a modern parallel code, in C++17/2x0, that uses Khronos CL/SYCL heterogeneous programming model layer specification, and running it on the next generation of innovative Raspberry Pi 4B+ IoT-boards. Essentially, an audience of software developers, system engineers and IoT-enthusiasts, will find out about the using of Khronos CL/triSYCL and Aksel Alpay’s hipSYCL open-source library projects for delivering a parallel code, targeting the Arm/Aarch64 hardware architectures, and using the latest GNU's Compiler Collection (GCC) and LLVM/Clang’s toolchains, for performing the “native” Arm/Aarch64, or cross-platform compilation, on a Raspberry Pi board and x86_64 Debian/Ubuntu-based development machine, respectively.

Views

Daily Counts

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) EpsilonDev
Ukraine Ukraine
I’m software developer, system analyst and network engineer, with over 20 years experience, graduated from L’viv State Polytechnic University and earned my computer science and information technology master’s degree in January 2004. My professional career began as a financial and accounting software developer in EpsilonDev company, located at L’viv, Ukraine. My favorite programming languages - C/C++, C#.NET, Java, ASP.NET, Node.js/JavaScript, PHP, Perl, Python, SQL, HTML5, etc. While developing applications, I basically use various of IDE’s and development tools, including Microsoft Visual Studio/Code, Eclipse IDE for Linux, IntelliJ/IDEA for writing code in Java. My professional interests basically include data processing and analysis algorithms, artificial intelligence and data mining, system analysis, modern high-performance computing (HPC), development of client-server web-applications using various of libraries, frameworks and tools. I’m also interested in cloud-computing, system security audit, IoT, networking architecture design, hardware engineering, technical writing, etc. Besides of software development, I also admire to write and compose technical articles, walkthroughs and reviews about the new IT- technological trends and industrial content. I published my first article at CodeProject in June 2015.

Comments and Discussions