Welcome to MilkyWay@home

MAC OS X Nvidia - MilkyWay Sepearation Modified Fit v1.30

Message boards : Application Code Discussion : MAC OS X Nvidia - MilkyWay Sepearation Modified Fit v1.30
Message board moderation

To post messages, you must log in.

AuthorMessage
mac intel

Send message
Joined: 22 Mar 11
Posts: 5
Credit: 5,397
RAC: 0
Message 61673 - Posted: 1 May 2014, 6:45:01 UTC

hello, i´am running Mac OS X 10.9.2 with Boinc 7.3.15.
i´ve got a build in HD4000 and an Nvidia GTX650

the Nvidia Sepearation Modified Fit v1.30 App select the Intel HD4000 and not the Nvidia GTX650 as wanted

Stderr Ausgabe

<core_client_version>7.3.15</core_client_version>
<![CDATA[
<message>
process exited with code 1 (0x1, -255)
</message>
<stderr_txt>
<search_application> milkyway_separation 1.30 Darwin x86_64 double OpenCL </search_application>
Reading preferences ended prematurely
BOINC GPU type suggests using OpenCL vendor 'NVIDIA Corporation'
Setting process priority to 0 (13): Permission denied
Error loading Lua script 'astronomy_parameters.txt': [string "number_parameters: 4..."]:1: '<name>' expected near '4' 
Switching to Parameter File
Using SSE4.1 path
Found 1 platform
Platform 0 information:
Name: Apple
Version: OpenCL 1.2 (Dec 8 2013 21:07:05)
Vendor: Apple
Extensions: cl_APPLE_SetMemObjectDestructor cl_APPLE_ContextLoggingFunctions cl_APPLE_clut cl_APPLE_query_kernel_names cl_APPLE_gl_sharing cl_khr_gl_event
Profile: FULL_PROFILE
Didn't find preferred platform
Using device 0 on platform 0
Found 2 CL devices
Device 'HD Graphics 4000' (Intel:0x1024400) (CL_DEVICE_TYPE_GPU)
Board: 
Driver version: 1.2(Feb 7 2014 18:36:33)
Version: OpenCL 1.2 
Compute capability: 0.0
Max compute units: 16
Clock frequency: 1200 Mhz
Global mem size: 1073741824
Local mem size: 65536
Max const buf size: 65536
Double extension: (none)
Device doesn't support double precision
Failed to calculate likelihood
<background_integral> nan </background_integral>
<stream_integral> nan nan nan </stream_integral>
<background_likelihood> nan </background_likelihood>
<stream_only_likelihood> nan nan nan </stream_only_likelihood>
<search_likelihood> nan </search_likelihood>
09:35:40 (10322): called boinc_finish

</stderr_txt>
]]>


do i need an config file to select the right gfx card?

thx in advance
ID: 61673 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Richard Haselgrove

Send message
Joined: 4 Sep 12
Posts: 219
Credit: 456,474
RAC: 0
Message 61674 - Posted: 1 May 2014, 13:43:23 UTC - in response to Message 61673.  

I doubt there's anything you can do to change the card selection at your end. BOINC has properly detected the NVIDIA GeForce GTX 650 in host 541933: that MilkyWay can't see the same device might be a problem with MilkyWay's own programming, or it might be a problem with the 'BOINC API' libraries - the BOINC-supplied code which enables applications like MilkyWay's to communicate with the BOINC platform and ultimately with the project servers.

Some similar OpenCL device selection anomalies are being discussed at the moment at the Einstein project, and the API code is being updated in an attempt to resolve them. I've added your report to the list.

Can anyone explain this result?
ID: 61674 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
mac intel

Send message
Joined: 22 Mar 11
Posts: 5
Credit: 5,397
RAC: 0
Message 61675 - Posted: 1 May 2014, 18:30:27 UTC - in response to Message 61674.  

great,

collatz, prime grid and einstein OpenCL works great at my machine
ID: 61675 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Darrell
Avatar

Send message
Joined: 28 Mar 09
Posts: 9
Credit: 16,162,511
RAC: 0
Message 61687 - Posted: 3 May 2014, 21:51:07 UTC - in response to Message 61675.  

These are the exclusions I use to keep milkyway apps off my integrated HD3000:

<exclude_gpu>
<url>http://milkyway.cs.rpi.edu/milkyway/</url>
<device_num>1</device_num>
<type>ATI</type>
<app>milkyway_nbody</app>
</exclude_gpu>
<exclude_gpu>
<url>http://milkyway.cs.rpi.edu/milkyway/</url>
<device_num>1</device_num>
<type>ATI</type>
<app>milkyway_separation__modified_fit</app>
</exclude_gpu>
<exclude_gpu>
<url>http://milkyway.cs.rpi.edu/milkyway/</url>
<device_num>1</device_num>
<type>ATI</type>
<app>milkyway</app>
</exclude_gpu>

Based upon what you have posted, <type> should change to intel_gpu and <device_num> changed to 0

These exclusions go in the cc_config.xml file in the boinc data directory, please see http://boinc.berkeley.edu/wiki/Client_configuration for instructions on how to create it. You will need these exclusions until such time as the double precision requirement is added to boinc.
ID: 61687 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
mac intel

Send message
Joined: 22 Mar 11
Posts: 5
Credit: 5,397
RAC: 0
Message 61710 - Posted: 8 May 2014, 18:22:27 UTC

hello, thx for reply.
but seems that milkyway don´t find my card.

http://milkyway.cs.rpi.edu/milkyway/result.php?resultid=737547760

i insert:
<cc_config>
    <options>
        <exclude_gpu>
            <url>http://milkyway.cs.rpi.edu/milkyway/</url>
            <device_num>0</device_num>
            <type>intel_gpu</type>
            <app>milkyway_nbody</app>
        </exclude_gpu>
        <exclude_gpu>
            <url>http://milkyway.cs.rpi.edu/milkyway/</url>
            <device_num>0</device_num>
            <type>intel_gpu</type>
            <app>milkyway_separation__modified_fit</app>
        </exclude_gpu>
        <exclude_gpu>
            <url>http://milkyway.cs.rpi.edu/milkyway/</url>
            <device_num>0</device_num>
            <type>intel_gpu</type>
            <app>milkyway</app>
        </exclude_gpu>
    </options>
</cc_config>


Milkyway@Home | A GPU exclusion in your cc_config.xml file refers to an unknown application 'milkyway_nbody'. Known applications: 'milkyway', 'milkyway_separation__modified_fit'
ID: 61710 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Jake Weiss
Volunteer moderator
Project developer
Project tester
Project scientist

Send message
Joined: 25 Feb 13
Posts: 580
Credit: 94,200,158
RAC: 0
Message 62070 - Posted: 21 Jul 2014, 16:28:05 UTC

This is kind of an old thread, but I figured I would try to clear some things up in case anyone else stumbles upon this looking for help with the same problem. MilkyWay@home doesn't recognize your device as having double precision compute capabilities. While the card itself is probably capable of it, we have noticed Apple decided not to include the capabilities in their drivers. Hopefully, they will eventually update their drivers to include it in the future.

Sorry,

Jake W.
ID: 62070 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Tomohisa Miya

Send message
Joined: 30 Mar 09
Posts: 5
Credit: 81,481,299
RAC: 0
Message 62747 - Posted: 27 Nov 2014, 21:31:45 UTC - in response to Message 62070.  

Hello, Jake,

I got the same problem on my MacBook Pro (w/ Intel HD 4000 & nVIDIA 650M).

I believe the cause is in the code of milkyway@home.
The task was assigned to 650M(dev#1), which supports DP, but it failed due to the lack of DP on HD 4000(dev#0).
Seemingly milkyway app failed to get proper device number of the assigned GPU.
According to the document at BOINC site <http://boinc.berkeley.edu/trac/wiki/OpenclApps>, the recent BOINC clients specifies the OpenCL data in the init_data.xml file, not by command line, and the application must call boinc_get_opencl_ids().
However I cannot find it called in the milkyway source.

Hoping this can be a help to address the issue.

Tomohisa Miya

** Part of init_data.xml for the task (other project) assigned to NVIDIA GPU
<gpu_type>NVIDIA</gpu_type>
<gpu_device_num>0</gpu_device_num>
<gpu_opencl_dev_index>1</gpu_opencl_dev_index>
<gpu_usage>1.000000</gpu_usage>


** the stderr output of failed separation task for NVIDIA gpu
<core_client_version>7.2.42</core_client_version>
<![CDATA[
<message>
process exited with code 1 (0x1, -255)
</message>
<stderr_txt>
<search_application> milkyway_separation 1.36 Darwin x86_64 double OpenCL </search_application>
Reading preferences ended prematurely
BOINC GPU type suggests using OpenCL vendor 'NVIDIA Corporation'
Setting process priority to 0 (13): Permission denied
Error loading Lua script 'astronomy_parameters.txt': [string "number_parameters: 4..."]:1: '<name>' expected near '4' 
Switching to Parameter File
Using SSE4.1 path
Found 1 platform
Platform 0 information:
  Name:       Apple
  Version:    OpenCL 1.2 (Sep 20 2014 22:01:02)
  Vendor:     Apple
  Extensions: cl_APPLE_SetMemObjectDestructor cl_APPLE_ContextLoggingFunctions cl_APPLE_clut cl_APPLE_query_kernel_names cl_APPLE_gl_sharing cl_khr_gl_event
  Profile:    FULL_PROFILE
Didn't find preferred platform
Using device 0 on platform 0
Found 2 CL devices
Device 'HD Graphics 4000' (Intel:0x1024400) (CL_DEVICE_TYPE_GPU)
Board: 
Driver version:      1.2(Sep 25 2014 22:26:04)
Version:             OpenCL 1.2 
Compute capability:  0.0
Max compute units:   16
Clock frequency:     1250 Mhz
Global mem size:     1073741824
Local mem size:      65536
Max const buf size:  65536
Double extension:    (none)
Device doesn't support double precision
Failed to calculate likelihood
<background_integral> nan </background_integral>
<stream_integral>  nan  nan  nan </stream_integral>
<background_likelihood> nan </background_likelihood>
<stream_only_likelihood>  nan  nan  nan </stream_only_likelihood>
<search_likelihood> nan </search_likelihood>
01:34:25 (53761): called boinc_finish
ID: 62747 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Tomohisa Miya

Send message
Joined: 30 Mar 09
Posts: 5
Credit: 81,481,299
RAC: 0
Message 62793 - Posted: 6 Dec 2014, 16:16:13 UTC - in response to Message 62747.  
Last modified: 6 Dec 2014, 16:17:29 UTC

Correction:

I found the below while running other BOINC project that has OpenCL applications availablee for both of GPUs, nVIDIA and Intel GPU.

Those two application run concurrently without problem even both get the same command line option --device 0. I guess the device number 0 means the first GPU of that kind, not the first one of all kind of GPU.
So, skipping other type of OpenCL GPU may make the problem gone.

# I still believe the use of boinc_get_opencl_ids() is better. Because it is the way written in the BOINC document.

Regards,

Tomohisa Miya
ID: 62793 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Tomohisa Miya

Send message
Joined: 30 Mar 09
Posts: 5
Credit: 81,481,299
RAC: 0
Message 62810 - Posted: 9 Dec 2014, 19:20:18 UTC

Just fort memo.

Difference of OpenCL configuration for multiple type of GPUs

@ Windows : OpenCL drivers are provided by each GPU vender.
    Platform #0 VENDER-A
    - device_index 0 GPU-A #0
    - device_index 1 GPU-A #1
    :

    Platform #1 VENDER-B
    - device_index 0 GPU-B #0
    - device_index 1 GPU-B #1
    :
    So, the device index matches with device number.



@ Mac OS X : OpenCL driver is provided by Apple as standard feature of OS

    Platform #0 Apple
    - device_index 1 GPU-A #0
    :
    - device_index N-1 GPU-A #N
    - device_index N GPU-B #0
    :

    So, the device index won't match with device number for GPU-Bs



The boinc_get_opencl_ids() tries to get correct platform ID and device ID by scanning all OpenCL devices and counting only GPUs of the specifeied verdor.

ID: 62810 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote

Message boards : Application Code Discussion : MAC OS X Nvidia - MilkyWay Sepearation Modified Fit v1.30

©2024 Astroinformatics Group