Exercise OpenCl Project
Your task is to create a software that utilises OpenCl and the computing power of your GPU to do some sort of calculation.
- Choose a suitable problem
- Remember the data that needs to be processed should be large but the individual data points should be as independent from each other as possible.
- Your program should be easy to demonstrate and the outcome should be clearly visible.
- Examples of use-cases include, but are not limited to:
- Machine Learning & Deep Learning
- Training and inference for neural networks
- Image and Signal Processing
- Blur detection, Edge detection, fast filtering, transformations (FFT, DCT), and convolution operations
- Video Processing
- Transcoding, stabilization, denoising, motion detection
- Cryptography
- Hashing (e.g., SHA-256 for blockchain), brute-force key search
- Physics Simulations
- Particle systems, fluid dynamics (e.g., SPH), electromagnetic simulations
- Financial Modeling
- Monte Carlo simulations, option pricing (e.g., Black-Scholes), risk analysis
- Bioinformatics
- DNA sequence alignment, molecular dynamics simulations
- Numerical Linear Algebra
- Matrix multiplication, solving linear systems, eigenvalue problems
- Real-time Data Analytics
- Stream processing, sorting, aggregation on large datasets
- Optimization Problems
- Simulated annealing, genetic algorithms, gradient descent
- Computer Vision (non-display)
- Object detection, feature extraction, SLAM (Simultaneous Localization and Mapping)
- Natural Language Processing
- Tokenization, embeddings, transformer inference
- Data Compression and Decompression
- Parallelized codecs or custom lossless compression algorithms
- Scientific Computation
- Climate modeling, astrophysics, quantum simulations
- Machine Learning & Deep Learning
- You should develop 2 variants of your computation - one that utilises OpenCl and the GPU and another one that does the calculation on your CPU. You should be able to demonstrate the difference in computing time.
- You must prepare a short presentation (~5minutes)
- Describe the problem
- Describe the solution (how did you program it?)
- Showcase