Je travaille dans un institut de recherche universitaire fortement tributaire du calcul haute performance. En 10 ans, nous avons développé notre propre code Fortran qui est très bien considéré et peut fonctionner sur de très gros clusters. Afin de faire bénéficier le plus grand nombre de chercheurs du code, nous envisageons de le rendre open-source. Cependant, étant donné que notre financement dépend fortement des recherches que nous pouvons effectuer avec le code, nous serions en quelque sorte nous tirer dans le pied.
L'une des idées est de limiter le nombre de processeurs sur lesquels le code peut fonctionner, par exemple au maximum 1000 processeurs au lieu des 100 000 que nous utilisons. De cette façon, la communauté mondiale de la recherche peut bénéficier du code, mais nous aurions un avantage sur la taille des problèmes que nous pouvons exécuter.
Une telle fonctionnalité est-elle conceptuellement possible? Et comment une telle fonctionnalité pourrait-elle être mise en œuvre? Essentiellement, nous aimerions open-source le code complet, mais limiter la parallélisation (en utilisant MPI) à un nombre fixe de threads MPI, par exemple en utilisant un module (source fermée).