Lavoro in un istituto di ricerca accademico fortemente dipendente dal calcolo ad alte prestazioni. In 10 anni abbiamo sviluppato il nostro codice Fortran che è molto apprezzato e può essere eseguito su cluster molto grandi. Per far sì che la più ampia comunità di ricerca tragga beneficio dal codice, stiamo valutando di renderlo open source. Tuttavia, poiché i nostri finanziamenti dipendono fortemente dalla ricerca che possiamo svolgere con il codice, saremmo in qualche modo sparati ai piedi.
Una delle idee è limitare il numero di CPU su cui può essere eseguito il codice, ad esempio un massimo di 1000 CPU anziché le 100.000 che utilizziamo. In questo modo la comunità di ricerca globale può beneficiare del codice, ma avremmo un vantaggio sulla dimensione dei problemi che possiamo affrontare.
Una tale caratteristica è concettualmente possibile? E come potrebbe essere implementata una tale funzionalità? In sostanza vorremmo open-source il codice completo, ma limitiamo la parallelizzazione (usando MPI) a un numero fisso di thread MPI, ad esempio usando un modulo (closed-source).