https://github.com/denyskryvytskyi/capgemini-opencl
OpenCL implementation of vector additon, matrix multiplication, reduction and sorting
https://github.com/denyskryvytskyi/capgemini-opencl
bitonic-sort cpp matrix matrix-multiplication matrix-multiplication-parallel matrix-transpose opencl opencl-kernels reduction sorting-algorithms vector vector-addition vectorization
Last synced: 3 months ago
JSON representation
OpenCL implementation of vector additon, matrix multiplication, reduction and sorting
- Host: GitHub
- URL: https://github.com/denyskryvytskyi/capgemini-opencl
- Owner: denyskryvytskyi
- Created: 2024-10-16T14:33:23.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-10-28T14:06:04.000Z (7 months ago)
- Last Synced: 2025-01-11T16:30:02.488Z (4 months ago)
- Topics: bitonic-sort, cpp, matrix, matrix-multiplication, matrix-multiplication-parallel, matrix-transpose, opencl, opencl-kernels, reduction, sorting-algorithms, vector, vector-addition, vectorization
- Language: C++
- Homepage:
- Size: 61.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Capgemini OpenCL tasks
Tasks were implemented and tested on:
- Windows laptop: GPU: NVIDIA GTX 1050; CPU: Intel Core i7-7700HQ.
- Linux AWS instance machine: GPU: Nvidia Tesla m60; CPU: Intel Xeon CPU E5-2686.Tasks list:
- vectors addition;
- matrix multiplication using tiles, GPU shared memory, and matrix transposition;
- reduction (sum);
- sorting using a custom implementation of the Bitonic sort algorithm.## Getting Started
As both machines have NVIDIA GPU and installed CUDA toolkit, I've used OpenCL SDK from the CUDA toolkit.- Install [CUDA Toolkit](https://developer.nvidia.com/cuda-toolkit) or [OpenCL SDK](https://github.com/KhronosGroup/OpenCL-Guide/) separately.
- *[optional]* Install [Intel CPU Runtime for OpenCL](https://www.intel.com/content/www/us/en/developer/tools/opencl-cpu-runtime/overview.html) to enable OpenCL on Intel CPU.
- Check OpenCL .lib and headers in the Linux makefile and Windows solution for proper linking.
- Run programs using Make on Linux and Visual Studio 2022 on Windows.