5 Replies Latest reply on Aug 24, 2011 6:34 PM by akhal

    Selecting fixed number of cores in OpenCL

    akhal

      Hello

      I am comparing performance of OpenMP with that of OpenCL on CPUs and my system has 8 cores. But I need comparisons for 2, 4, 6 and 8 cores respectively. I can activiate number of cores in OpenMP through "set_num_threads(n)" function or an environment variable; But I dont know how could I do same in OpenCL, is there alternative of OpenMP set_num_threads API in OpenCL ?

        • Selecting fixed number of cores in OpenCL
          genaganna

           

          Originally posted by: akhal Hello

           

          I am comparing performance of OpenMP with that of OpenCL on CPUs and my system has 8 cores. But I need comparisons for 2, 4, 6 and 8 cores respectively. I can activiate number of cores in OpenMP through "set_num_threads(n)" function or an environment variable; But I dont know how could I do same in OpenCL, is there alternative of OpenMP set_num_threads API in OpenCL ?

           

          You can do with device_fission extension.

            • Selecting fixed number of cores in OpenCL
              akhal

              ok thanks for the hint, but as i followed their example, I got errors:

              ImgConv_ocl.cc(275): error: identifier "cl_device_partition_property_ext" is undefined
                    cl_device_partition_property_ext subdevice_properties[] =
                    ^

              ImgConv_ocl.cc(276): error: identifier "CL_DEVICE_PARTITION_BY_COUNTS_EXT" is undefined
                         { CL_DEVICE_PARTITION_BY_COUNTS_EXT, cu, CL_PARTITION_BY_COUNTS_LIST_END_EXT,
                           ^

              ImgConv_ocl.cc(276): error: identifier "CL_PARTITION_BY_COUNTS_LIST_END_EXT" is undefined
                         { CL_DEVICE_PARTITION_BY_COUNTS_EXT, cu, CL_PARTITION_BY_COUNTS_LIST_END_EXT,
                                                                  ^

              ImgConv_ocl.cc(277): error: identifier "CL_PROPERTIES_LIST_END_EXT" is undefined
                           CL_PROPERTIES_LIST_END_EXT };
                           ^

              ImgConv_ocl.cc(283): error: expression must have class type
                    device_id[0].createSubDevices( subdevice_properties, subdevices );

              what seems wrong?

                • Selecting fixed number of cores in OpenCL
                  genaganna

                   

                  Originally posted by: akhal ok thanks for the hint, but as i followed their example, I got errors:

                   

                  ImgConv_ocl.cc(275): error: identifier "cl_device_partition_property_ext" is undefined       cl_device_partition_property_ext subdevice_properties[] =       ^ ImgConv_ocl.cc(276): error: identifier "CL_DEVICE_PARTITION_BY_COUNTS_EXT" is undefined            { CL_DEVICE_PARTITION_BY_COUNTS_EXT, cu, CL_PARTITION_BY_COUNTS_LIST_END_EXT,              ^ ImgConv_ocl.cc(276): error: identifier "CL_PARTITION_BY_COUNTS_LIST_END_EXT" is undefined            { CL_DEVICE_PARTITION_BY_COUNTS_EXT, cu, CL_PARTITION_BY_COUNTS_LIST_END_EXT,                                                     ^ ImgConv_ocl.cc(277): error: identifier "CL_PROPERTIES_LIST_END_EXT" is undefined              CL_PROPERTIES_LIST_END_EXT };              ^ ImgConv_ocl.cc(283): error: expression must have class type       device_id[0].createSubDevices( subdevice_properties, subdevices );

                   

                  what seems wrong?

                   

                  Please include cl_ext.h or opencl.h