Я работаю в научно-исследовательском институте, сильно зависящем от высокопроизводительных вычислений. За 10 лет мы разработали наш собственный код на Фортране, который очень хорошо ценится и может работать на очень больших кластерах. Для того, чтобы более широкое исследовательское сообщество получило пользу от кода, мы рассматриваем возможность сделать его открытым исходным кодом. Однако, поскольку наше финансирование в значительной степени зависит от исследований, которые мы можем выполнить с помощью кода, мы бы как бы стреляли себе в ногу.
Одна из идей состоит в том, чтобы ограничить количество процессоров, на которых может выполняться код, например, максимум 1000 процессоров вместо 100 000, которые мы используем. Таким образом, глобальное исследовательское сообщество может извлечь выгоду из кода, но у нас будет преимущество в размере проблем, которые мы можем выполнить.
Возможна ли такая особенность концептуально? И как можно реализовать такую функцию? По сути, мы хотели бы открыть полный код с открытым исходным кодом, но ограничить распараллеливание (используя MPI) фиксированным числом потоков MPI, например, используя модуль (с закрытым исходным кодом).