PC Lab 6: Diferență între versiuni

De la WikiLabs
Jump to navigationJump to search
Fără descriere a modificării
Fără descriere a modificării
Linia 13: Linia 13:
the result of normalization is :
the result of normalization is :


    0.3162    0.4472
[ 0.3162    0.4472 ]
    0.9487    0.8944
[ 0.9487    0.8944 ]
 
That is: 0.3162 * 0.3162 + 0.9487 * 0.9487 = 1 and of course, 0.3162 / 0.9487 is kept as 1 / 3 ratio
That is: 0.4472 * 0.4472 + 0.8944 * 0.8944 = 1 and of course, 0.4472 / 0.8944 is kept as 2 / 4 ratio


# Install opencl drivers for your platform
# Install opencl drivers for your platform
# Check what opencl-capable devices with command '''clinfo'''
# Check what opencl-capable devices with command '''clinfo'''
# Run the VectorAddOpenCL app [[http://wiki.dcae.pub.ro/images/4/4a/VectorAddOpenCL.cpp]] to see that all works ok
# Run the VectorAddOpenCL app [[http://wiki.dcae.pub.ro/images/4/4a/VectorAddOpenCL.cpp]] to see that all works ok
# Implement the normalization operation
# Implement the normalization operation across 1 OpenCL thread of a single device
# Implement the normalization operation across multiple OpenCL threads of the same device





Versiunea de la data 26 aprilie 2018 15:19

Session 6

Task: run matrix-column normalization using OpenCL (https://www.khronos.org/opencl)

Matrix-column normalization means that, at the end of the process, every sum of squared elements on the same column is 1.

Example: Assuming matrix is

[ 1, 2 ] 
[ 3, 4 ]

the result of normalization is :

[ 0.3162     0.4472 ]
[ 0.9487     0.8944 ]

That is: 0.3162 * 0.3162 + 0.9487 * 0.9487 = 1 and of course, 0.3162 / 0.9487 is kept as 1 / 3 ratio That is: 0.4472 * 0.4472 + 0.8944 * 0.8944 = 1 and of course, 0.4472 / 0.8944 is kept as 2 / 4 ratio

  1. Install opencl drivers for your platform
  2. Check what opencl-capable devices with command clinfo
  3. Run the VectorAddOpenCL app [[1]] to see that all works ok
  4. Implement the normalization operation across 1 OpenCL thread of a single device
  5. Implement the normalization operation across multiple OpenCL threads of the same device


Points (out of 10) vs. expected performance:


[[]]