我在高度依赖高性能计算的学术研究机构工作。在过去的十年中,我们已经开发了自己的Fortran代码,该代码非常受关注并且可以在非常大的群集上运行。为了使更大的研究社区从该代码中受益,我们正在考虑将其开源。但是,由于我们的资金高度依赖于我们可以使用该代码执行的研究,因此,我们可能会全力以赴。
想法之一是限制代码可以运行的CPU数量,例如,最多1000个CPU,而不是我们使用的100,000。这样,全球研究界可以从代码中受益,但是我们将在可以解决的问题规模方面拥有优势。
从概念上讲这种功能是否可行?以及如何实现这种功能?本质上,我们想开源完整的代码,但是将并行化(使用MPI)限制为固定数量的MPI线程,例如使用(封闭源)模块。