I'm rather new to OS X, on Windows I was able to assign cores to programs running.
I've been doing some searching but can't seem to find anything about it.
Would appreciate anything; either instructions here or links to articles about my issue.
I'm rather new to OS X, on Windows I was able to assign cores to programs running.
I've been doing some searching but can't seem to find anything about it.
Would appreciate anything; either instructions here or links to articles about my issue.
There are no processor affinity tools at the user level. Check this question. https://apple.stackexchange.com/questions/166870/processor-affinity-on-mac
Allow me to slightly tangential. There might be a possible workaround whereby you could meet your performance requirements.
1) This is just conjecture. Lets say you want to assign a core(s) to an video processing app because you want to have uninterrupted (minimally) processing while still using your computer for other tasks. Using the bash utility "nice", you can run an application with a higher priority than other apps. Now without me digging through finding the multicore scheduling algorithms that OS uses, it may improve the performance of your app or not give you the processing balance that you seek It will still share all n cores but it will get more time than other processes.
2) Use the API to create a "shell" app that uses the Affinity API. All you would need to do is fork a call to your app because according to this API doc, all forked children of the shell app will share its affinity namespace so if you are using processor 1 then any app called from the shell is going to be run on processor 1.
1) nice - https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/nice.1.html
2) Affinity API - https://developer.apple.com/library/mac/releasenotes/Performance/RN-AffinityAPI/index.html#//apple_ref/doc/uid/TP40006635