2011-05-02 2 views
1

Gnat를 사용 중이고 작업 중 하나에 특정 실행 코어를 설정하려고합니다. 문제는 그 문서를 찾을 수 없다는 것입니다. herehere과 같이 System.Multiprocessor를 추가 했음에도 불구하고 컴파일러는 미리 정의 된 라이브러리 단위가 아니라고 계속 말합니다. 이것은 -gnat12 플래그를 추가하더라도 발생합니다. 그 기능을 어떻게 사용할 수 있습니까?`GNAT에서 작업을위한 특정 CPU 코어 설정

답변

1

컴파일러에서 패키지를 지원할 때까지 기다려야 할 것입니다.

+1

수정. Ada 2012는 2011 년에 제공되지 않을 것입니다.) – NWS

+1

@NWS - 왜 안 되니? 2012 년형 자동차 모델이 출시되었습니다. :) –

+0

첫 번째 언급에서 발견 할 수있는 문구가 있으며이 기능이 구현되었습니다. 그래서 그것을 가능케하는 마법이 있어야합니다. – SaboteuR

2

Gnat는 Task_Info_Type 데이터 블록을 주어진 작업과 연관시키는 컴파일러 관련 Task_Info pragma을 제공합니다. 해당 데이터 블록의 필드에는 프로세서 무한대를 설정하는 데 사용되는 블록이 있습니다. System.Task_Info.Task_Info_Type의 정확한 정의는 플랫폼에 따라 다르므로 실행 파일이 실행되는 플랫폼의 System.Taskinfo 패키지를 검토해야합니다. 프로세서 친화력을 설정하는 예를 들어 멀티 코어 CPU를 사이에 작업을 분배하기위한 소스 포지에서 호스팅 Magpie 프레임 워크를 참조하십시오

뻔뻔 플러그 (분명히 이것은 그 에이다 2012 년에오고, 휴대용 해결책이 아니다).

+0

SETI @ Home Service (http://www.telepath.com/~dennison/Ted/SETI/SETI_Service.html)에서도 코드를 작성합니다. 그러나 Windows OS 호출을 사용하고 프로세스 기반 (작업 제외)으로 수행합니다. –

관련 문제