Sou bastante novo no OS X, no Windows consegui atribuir núcleos aos programas em execução.
Tenho feito algumas pesquisas, mas não consigo encontrar nada sobre isso.
Apreciaria qualquer coisa; instruções aqui ou links para artigos sobre meu problema.
Responder1
Não há ferramentas de afinidade de processador no nível do usuário. Verifique esta questão.https://apple.stackexchange.com/questions/166870/processor-affinity-on-mac
Permita-me um pouco tangencial. Pode haver uma possível solução alternativa pela qual você possa atender aos seus requisitos de desempenho.
1) Isso é apenas conjectura. Digamos que você queira atribuir núcleo(s) a um aplicativo de processamento de vídeo porque deseja ter um processamento ininterrupto (mínimo) enquanto ainda usa seu computador para outras tarefas. Usando o utilitário bash "nice", você pode executar um aplicativo com prioridade mais alta do que outros aplicativos. Agora, sem que eu procure os algoritmos de agendamento multicore que o sistema operacional usa, isso pode melhorar o desempenho do seu aplicativo ou não fornecer o equilíbrio de processamento que você procura. Ele ainda compartilhará todos os n núcleos, mas levará mais tempo do que outros processos.
2) Use a API para criar um aplicativo "shell" que use a API Affinity. Tudo o que você precisa fazer é bifurcar uma chamada para seu aplicativo porque, de acordo com este documento da API, todos os filhos bifurcados do aplicativo shell compartilharão seu namespace de afinidade, portanto, se você estiver usando o processador 1, qualquer aplicativo chamado a partir do shell será execute no processador 1.
1) legal -https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/nice.1.html
2) API de afinidade -https://developer.apple.com/library/mac/releasenotes/Performance/RN-AffinityAPI/index.html#//apple_ref/doc/uid/TP40006635