Lavoro in un istituto di ricerca accademico strongmente dipendente dal calcolo ad alte prestazioni. Nei 10 anni abbiamo sviluppato il nostro codice Fortran che è molto ben visto e può funzionare su cluster molto grandi. Per fare in modo che la comunità di ricerca più ampia tragga beneficio dal codice, stiamo pensando di renderlo open source. Tuttavia, dato che il nostro finanziamento dipende in gran parte dalla ricerca che possiamo eseguire con il codice, saremmo in grado di spararci ai piedi.
Una delle idee è limitare il numero di CPU su cui il codice può essere eseguito, ad es. massimo 1000 CPU invece dei 100.000 che usiamo. In questo modo la comunità di ricerca globale può trarre vantaggio dal codice, ma avremmo un vantaggio sulla dimensione dei problemi che possiamo eseguire.
Questa caratteristica è concettualmente possibile? E come potrebbe essere implementata una simile funzionalità? Essenzialmente vorremmo aprire il codice completo, ma limitare la parallelizzazione (usando MPI) ad un numero fisso di thread MPI, per esempio usando un modulo (closed-source).