Support for OSX


Message boards : Wish list : Support for OSX

Message board moderation

To post messages, you must log in.
AuthorMessage
Profile BilBg
Avatar

Send message
Joined: 19 Jun 12
Posts: 221
Credit: 623,640
RAC: 0
Message 1978 - Posted: 26 Oct 2013, 6:53:36 UTC - in response to Message 1973.  
No need for SSE2 since all macs have at least sse3 available.

For some apps on some projects SSE2 (surprisingly) is a little faster (1-3%) than SSE3
So, if you are already on this, why not make also SSE2 build for testing purposes?





- ALF - "Find out what you don't do well ..... then don't do it!" :)
ID: 1978 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Crunch3r
Avatar

Send message
Joined: 19 Jun 12
Posts: 21
Credit: 107,293,560
RAC: 0
Message 1981 - Posted: 26 Oct 2013, 18:12:29 UTC - in response to Message 1978.  
OK.. i've compiled sse2, sse3 and avx apps. For the moment OSX 10.5 &64 bit only.

32 bit apps will follow later.

Now it's up to Kyong to make them available ;)

regards
Crunch3r


Join BOINC United now!
ID: 1981 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Crunch3r
Avatar

Send message
Joined: 19 Jun 12
Posts: 21
Credit: 107,293,560
RAC: 0
Message 1982 - Posted: 26 Oct 2013, 19:24:02 UTC - in response to Message 1981.  
OK.. i've compiled sse2, sse3 and avx apps. For the moment OSX 10.5 &64 bit only.

32 bit apps will follow later.

Now it's up to Kyong to make them available ;)

regards
Crunch3r


the 32bit app is uploaded as well. It's 'only' sse3 since avx is way slower.


Join BOINC United now!
ID: 1982 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Kyong
Project administrator
Project developer
Project tester
Project scientist
Avatar

Send message
Joined: 9 Jun 12
Posts: 584
Credit: 52,667,664
RAC: 0
Message 1984 - Posted: 27 Oct 2013, 15:12:44 UTC
I have released the optimized versions for OS X, which were compiled by Crunch3r.
ID: 1984 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Steve Hawker*

Send message
Joined: 10 Feb 13
Posts: 5
Credit: 1,277,280
RAC: 0
Message 1985 - Posted: 27 Oct 2013, 17:30:08 UTC - in response to Message 1984.  
I have released the optimized versions for OS X, which were compiled by Crunch3r.


Just allowed new work on my Mac and it downloaded a bunch of v100 tasks which I aborted.

So I reset the project which then downloaded some SSE2 tasks and more v100 tasks, which I aborted.

I don't really want to monitor the downloads all the time - can you do something like select the optimized app in preferences or remove the v100?

Thanks!
ID: 1985 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Steve Hawker*

Send message
Joined: 10 Feb 13
Posts: 5
Credit: 1,277,280
RAC: 0
Message 1986 - Posted: 27 Oct 2013, 17:30:14 UTC - in response to Message 1984.  

Last modified: 27 Oct 2013, 17:31:09 UTC
I have released the optimized versions for OS X, which were compiled by Crunch3r.


Just allowed new work on my Mac and it downloaded a bunch of v100 tasks which I aborted.

So I reset the project which then downloaded some SSE2 tasks and more v100 tasks, which I aborted.

I don't really want to monitor the downloads all the time - can you do something like allow selection of the optimized app in preferences or maybe even remove the v100?

Thanks!
ID: 1986 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Kyong
Project administrator
Project developer
Project tester
Project scientist
Avatar

Send message
Joined: 9 Jun 12
Posts: 584
Credit: 52,667,664
RAC: 0
Message 1987 - Posted: 27 Oct 2013, 19:00:34 UTC
I don't what architectures x86 and x64 started in Apple pc's. I could remove the basic CPU version if every these processors started with SSE2/SSE3.
ID: 1987 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Jan Vaclavik

Send message
Joined: 26 Jan 13
Posts: 31
Credit: 1,501,198
RAC: 270
Message 1988 - Posted: 28 Oct 2013, 11:04:38 UTC - in response to Message 1987.  
AFAIK, the oldest x86 macs (no longer supported by Apple) were x86 + SSE3 (PNI) capable. Pretty much everything after that was x86-64 with Supplemental SSE3 and higher.
ID: 1988 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Jan Vaclavik

Send message
Joined: 26 Jan 13
Posts: 31
Credit: 1,501,198
RAC: 270
Message 1989 - Posted: 28 Oct 2013, 11:04:50 UTC - in response to Message 1987.  

Last modified: 28 Oct 2013, 11:05:23 UTC
double post :(
ID: 1989 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
terencewee*

Send message
Joined: 28 Jul 12
Posts: 17
Credit: 700,427
RAC: 0
Message 2022 - Posted: 6 Nov 2013, 19:20:41 UTC - in response to Message 1986.  

Last modified: 6 Nov 2013, 19:26:49 UTC
I have released the optimized versions for OS X, which were compiled by Crunch3r.


Just allowed new work on my Mac and it downloaded a bunch of v100 tasks which I aborted.

So I reset the project which then downloaded some SSE2 tasks and more v100 tasks, which I aborted.

I don't really want to monitor the downloads all the time - can you do something like allow selection of the optimized app in preferences or maybe even remove the v100?

Thanks!



Steve,

Use the app_info.xml method (I did).

0] BOINC data folder is in /Library/Application Support/BOINC Data

1] download SSE2/SSE3/AVX apps from http://asteroidsathome.net/boinc/download/

2] mv all apps into BOINC Data/projects/asteroidsathome.net_boinc

3] make all apps executable, e.g. chmod +x

4] TextEdit/nano a new app_info.xml as shown below

<app_info>
<app>
<name>period_search</name>
<user_friendly_name>Asteroids</user_friendly_name>
</app>

<!-- SSE2 -->
<file_info>
<name>period_search_10210_x86_64-apple-darwin__sse2</name>
<executable/>
</file_info>
<app_version>
<app_name>period_search</app_name>
<version_num>1021</version_num>
<avg_ncpus>1.00</avg_ncpus>
<max_ncpus>1.00</max_ncpus>
<plan_class>sse2</plan_class>
<file_ref>
<file_name>period_search_10210_x86_64-apple-darwin__sse2</file_name>
<main_program/>
</file_ref>
</app_version>


<!-- SSE3 -->
<file_info>
<name>period_search_10210_x86_64-apple-darwin__sse3</name>
<executable/>
</file_info>
<app_version>
<app_name>period_search</app_name>
<version_num>1021</version_num>
<avg_ncpus>1.00</avg_ncpus>
<max_ncpus>1.00</max_ncpus>
<plan_class>sse3</plan_class>
<file_ref>
<file_name>period_search_10210_x86_64-apple-darwin__sse3</file_name>
<main_program/>
</file_ref>
</app_version>


<!-- AVX -->
<file_info>
<name>period_search_10210_x86_64-apple-darwin__avx</name>
<executable/>
</file_info>
<app_version>
<app_name>period_search</app_name>
<version_num>1021</version_num>
<avg_ncpus>1.00</avg_ncpus>
<max_ncpus>1.00</max_ncpus>
<plan_class>avx</plan_class>
<file_ref>
<file_name>period_search_10210_x86_64-apple-darwin__avx</file_name>
<main_program/>
</file_ref>
</app_version>

</app_info>


(You can remove parts for AVX/SSE3 if you prefer to run SSE2-only)

5] change ownership of all apps & app_info.xml to boinc_master:boinc_project, e.g. chown

6] shutdown & restart BOINC

Good luck.


EDIT:
Save the app_info.xml into BOINC Data/projects/asteroidsathome.net_boinc

Best to
cd /Library/Application Support/BOINC Data/projects/asteroidsathome.net_boinc
and work from there


--
terencewee*
Sicituradastra.
terencewee*
Sicituradastra.
ID: 2022 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Crunch3r
Avatar

Send message
Joined: 19 Jun 12
Posts: 21
Credit: 107,293,560
RAC: 0
Message 2028 - Posted: 7 Nov 2013, 18:47:49 UTC - in response to Message 2022.  
I have released the optimized versions for OS X, which were compiled by Crunch3r.


I've compiled new apps 32 and 64 bit.
There seems to have been an issue with the sse2 app getting invalid results.

I'm got a hunch that it's due to using clang instead of g++.
anyway, i've uploaded the new apps(see below).

http://www.boincunited.org/opt_apps/asteroidsathome_osx_10211_32bit.tar.bz2
http://www.boincunited.org/opt_apps/asteroidsathome_osx_10211_64bit.tar.bz2

(no need for sse2)
The avx app might follow later since i have to figure out why it's so slow compared to the sse3 app.





Join BOINC United now!
ID: 2028 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Andrew Dicker

Send message
Joined: 2 Aug 13
Posts: 6
Credit: 6,051,000
RAC: 0
Message 2079 - Posted: 21 Nov 2013, 20:31:44 UTC
So, I know that the scheduler will send machines tasks from all app versions to find the fastest, but i've noticed my two macs only got sent tasks for the old app, and the new sse2 app. I have not seen any sse3 or avx tasks.

The axe reporting issue on windows isn't a problem on mac, but it does report avx1.0, not avx as i believe linux does.

So, are any tasks for the sse3 and avx apps being sent to Macs (without app_info/_config), and it's just the scheduled hasn't tried my machines with any yet, or are macs reporting different strings to the scheduler's expectations and not getting any?


http://asteroidsathome.net/boinc/show_host_detail.php?hostid=42399
FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX SMX EST TM2 SSSE3 CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC POPCNT AES PCID XSAVE OSXSAVE TSCTMR AVX1.0 RDRAND F16C

http://asteroidsathome.net/boinc/show_host_detail.php?hostid=42397
FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX SMX EST TM2 SSSE3 CX16 TPR PDCM SSE4.1 SSE4.2 POPCNT AES PCID
ID: 2079 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Kyong
Project administrator
Project developer
Project tester
Project scientist
Avatar

Send message
Joined: 9 Jun 12
Posts: 584
Credit: 52,667,664
RAC: 0
Message 2080 - Posted: 21 Nov 2013, 22:13:53 UTC
Oh no, I can see that the version reports it differently. Win and Linux version reports SSE3 as PNI and AVX as AVX. But your version reports it SSE3 and AVX1.0. Scheduler in default doesn't send anything according to reported instruction set so I had to specify it in an xml file. But I didn't specify these two. That's a little mess that it reports it differently. Do you have also older versions installed somewhere on any Mac? I would need the instruction set reporting from older versions for comparation. I don't want to have too many versions of the same app so I would depreceate the other versions.
ID: 2080 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Andrew Dicker

Send message
Joined: 2 Aug 13
Posts: 6
Credit: 6,051,000
RAC: 0
Message 2082 - Posted: 22 Nov 2013, 0:45:35 UTC - in response to Message 2080.  
I don't have any older versions of BOINC currently installed, but from memory this is what has been reported for a while.


This message in the boinc_dev mail archive suggests that macs have reported SSE3 for a long time, but doesn't show avx (BOINC 6):
http://lists.ssl.berkeley.edu/pipermail/boinc_dev/2013-August/020294.html
ID: 2082 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile BilBg
Avatar

Send message
Joined: 19 Jun 12
Posts: 221
Credit: 623,640
RAC: 0
Message 2083 - Posted: 22 Nov 2013, 17:45:12 UTC - in response to Message 2080.  

Last modified: 22 Nov 2013, 18:29:46 UTC

Looking at BOINC sources:
(To find the relevant parts Ctrl+F for: features)
http://boinc.berkeley.edu/trac/browser/boinc-v2/client/hostinfo_win.cpp
http://boinc.berkeley.edu/trac/browser/boinc-v2/client/hostinfo_unix.cpp

... it looks like BOINC uses totally different way to make the string that appears after 'Processor features:'

On Win - uses CPUID, parses bits in EDX, ECX, ... and concatenates hard-coded (in the source) strings like "fpu " "sse2 " "pni "
http://en.wikipedia.org/wiki/CPUID#EAX.3D1:_Processor_Info_and_Feature_Bits

On *nix like OS: parses OS-generated file (fopen("/proc/cpuinfo", "r");) and uses strings from it as they are

#ifdef __APPLE__ : calls sysctlbyname("machdep.cpu.features", host.p_features, &len, NULL, 0);
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/sysctlbyname.3.html

The output of sysctl machdep.cpu.features:
http://osxdaily.com/2012/04/28/get-extended-cpu-information-from-the-command-line/
http://stackoverflow.com/questions/14586258/gcc-doesnt-want-to-use-avx-on-mac





- ALF - "Find out what you don't do well ..... then don't do it!" :)
ID: 2083 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote

Message boards : Wish list : Support for OSX