저는 고성능 컴퓨팅에 크게 의존하는 학술 연구소에서 일하고 있습니다. 10 년 동안 우리는 매우 잘 알려져 있으며 매우 큰 클러스터에서 실행될 수있는 자체 포트란 코드를 개발했습니다. 더 큰 리서치 커뮤니티가 코드의 혜택을 받도록하기 위해 오픈 소스로 만드는 것을 고려하고 있습니다. 그러나 우리의 자금은 우리가 코드로 수행 할 수있는 연구에 크게 의존하기 때문에, 우리는 발자취를 당할 것입니다.
아이디어 중 하나는 코드가 실행될 수있는 CPU 수를 제한하는 것입니다 (예 : 우리가 사용하는 100,000 개 대신 최대 1000 개 CPU). 이렇게하면 전 세계 리서치 커뮤니티가 코드의 혜택을 누릴 수 있지만 실행할 수있는 문제의 크기에 유리합니다.
이러한 기능은 개념적으로 가능합니까? 그리고 그러한 기능을 어떻게 구현할 수 있습니까? 기본적으로 완전한 코드를 오픈 소스로하고 싶지만 병렬 처리 (MPI 사용)를 고정 된 수의 MPI 스레드로 제한합니다 (예 : (폐쇄 소스) 모듈 사용).