私は、高性能コンピューティングに大きく依存している学術研究機関で働いています。10年の間に、非常に評価され、非常に大きなクラスターで実行できる独自のFortranコードを開発しました。より大きな研究コミュニティがコードから利益を得るために、それをオープンソースにすることを検討しています。しかし、私たちの資金はコードで実行できる研究に大きく依存しているので、私たちは一種の足を踏みにじることになります。
アイデアの1つは、コードを実行できるCPUの数を制限することです。たとえば、使用する100,000ではなく最大1000 CPUです。このようにして、グローバルな研究コミュニティはコードから利益を得ることができますが、実行できる問題の規模には有利になります。
そのような機能は概念的に可能ですか?そして、そのような機能はどのように実装できますか?基本的に、完全なコードをオープンソース化したいが、並列化を(MPIを使用して)固定数のMPIスレッドに制限します。たとえば、(クローズドソース)モジュールを使用します。