1 Reply Latest reply on Jan 1, 2010 10:32 AM by nou

    Matrix Multiplication - queries regarding blocksize and work group size



      I am a college student trying to understand the new opencl environment...

      I am using an intel xeon CPU E5405 @2.00GHz, quad core using linux(ubuntu) operating system.

      I have been studying the Matrix Multiplication code...In which I have some problems...

      1. When I increase the blocksize to 64....an error "Device does not support requested number of work items"  comes....What does this error indicate about my hardware....

      The maximum workgroupsize =1024 for my device..Does this indicate that my device has 1024 processing elements?


      2.When i keep blocksize=32, does this mean that 32*32 elemnts are computed in parallel for a single compute unit?


      3. I am curious to know what exactly is the definition of a processing element in reference to a CPU?


      Any kind of help is appreciated.


        • Matrix Multiplication - queries regarding blocksize and work group size

          1. when you run CLInfo sample you can find this
              Max work items dimensions:             3
              Max work items[0]:                 1024
              Max work items[1]:                 1024
              Max work items[2]:                 1024
            Max work group size:                 1024

          it mean you can run maximum 3D addresed task. and each work-groub can be maxmimu 1024 in one dimension. but multiply of work-group sizes must be below "Max work group size"

          when you specifi 64 then you want compute 64*64 = 4096 element in one work-group. that exceed 1024 limit.

          2. no it mean that it is compute 32*32 element in one work-group. one work-group can share local memory.