Skip to content

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
  • 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