2012 cMBP owners please help? Is my GT 650M faulty?

Discussion in 'MacBook Pro' started by DrJohnZoidberg, Sep 4, 2012.

  1. DrJohnZoidberg macrumors member

    Joined:
    Mar 16, 2012
    #1
    I need your help to check if my 2012 cMBP is faulty or if there is a bug in the GT 650M's OpenCL drivers. The only way I can do this is asking you kind folk to run this code (zipped and attached) and compare the output with mine.

    You'll have to hold down "control" when clicking on the executable so you can run it.

    OpenCL is reporting that my GT 650M is running at 0 MHz, which is clearly not the case. A kind chap on the Programming forum [thread link] tried it on an rMBP, and found that the GT 650M in the rMBP reports itself to be running at 405 MHz.

    If I could get one or two (or more) 2012 cMPB owners (the ones with the GT 650M, but not the retina screen) to run this code and post the results, I'll have a better idea if my cMBP is faulty (or if it's a bug).

    The results my machine produce are:
    Code:
    Number of available OpenCL devices: 2
    1. Intel Intel(R) Core(TM) i7-3720QM CPU @ 2.60GHz
    	- Max Clock Frequency: 2600
    	- Max Compute Units: 8
    2. NVIDIA GeForce GT 650M
    	- [COLOR="Red"][B]Max Clock Frequency: 0[/B][/COLOR]
    	- Max Compute Units: 2
    It's a small and insignificant thing, and probably only affects me, but if it's an indication that my cMBP is faulty I'll get it fixed, and if it's a bug I'd like Apple to fix it.

    For the sake of transparency, the code is:
    Code:
    #include <iostream>
    #include <OpenCL/OpenCL.h>
    
    int main(int argc, const char * argv[])
    {
        cl_device_id* devices = NULL;
        cl_uint num_of_devices = 0;
        size_t returned_size = 0;
        cl_char device_vendor[1024] = {0};
        cl_char device_name[1024] = {0};
        cl_uint device_max_clock = 0;
        cl_uint device_max_compute = 0;
        
        clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, 0, NULL, &num_of_devices);
        devices = new cl_device_id [num_of_devices];
        clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, num_of_devices, devices, NULL);
        std::cout << "Number of available OpenCL devices: " << num_of_devices << std::endl;
        for (int i = 0; i < num_of_devices; i++)
        {
            clGetDeviceInfo(devices[i], CL_DEVICE_VENDOR, sizeof(device_vendor), device_vendor, &returned_size);
            clGetDeviceInfo(devices[i], CL_DEVICE_NAME, sizeof(device_name), device_name, &returned_size);
            clGetDeviceInfo(devices[i], CL_DEVICE_MAX_CLOCK_FREQUENCY, sizeof(device_max_clock), &device_max_clock, &returned_size);
            clGetDeviceInfo(devices[i], CL_DEVICE_MAX_COMPUTE_UNITS, sizeof(device_max_compute), &device_max_compute, &returned_size);
            std::cout << i+1 << ". " << device_vendor << " " << device_name << std::endl;
            std::cout << "\t- Max Clock Frequency: " << device_max_clock << std::endl;
            std::cout << "\t- Max Compute Units: " << device_max_compute << std::endl;
        }
    
        return 0;
    }
    Please don't ridicule my code too much, it's only purpose is to show this - potential - bug.

    P.S. Yes, I know this looks like it should be in the Programming forum, but it's actually about the possibility my cMBP is faulty, so it's here.

    P.P.S. I'm a little uncomfortable attaching an executable to this post (malware & trojans etc), but I can't expect people to compile the code. If I've broken any rules (I had a quick look, but couldn't see anything) please PM me and I'll remove the executable.
     

    Attached Files:

  2. weemanpow3 macrumors 6502

    weemanpow3

    Joined:
    Mar 14, 2008
    #2
    I have the same mac as you.

    Code:
    Number of available OpenCL devices: 2
    1. Intel Intel(R) Core(TM) i7-3720QM CPU @ 2.60GHz
    	- Max Clock Frequency: 2600
    	- Max Compute Units: 8
    2. NVIDIA GeForce GT 650M
    	- Max Clock Frequency: 0
    	- Max Compute Units: 2
     
  3. DrJohnZoidberg thread starter macrumors member

    Joined:
    Mar 16, 2012
    #3
    Thank you. I think that confirms it's a bug in Apple's GT 650M drivers (or OpenCL implementation).
     
  4. tonikitoo macrumors newbie

    Joined:
    Nov 26, 2012
    #4
    I have the same output as you, MBP 2012 as well. Did you manage to sort out the issue? Was it the GT 650M driver is? Any more info?

    Thanks in advance
     

Share This Page