Saya bekerja di lembaga penelitian akademik yang sangat bergantung pada komputasi kinerja tinggi. Dalam 10 tahun kami telah mengembangkan kode Fortran kami sendiri yang sangat dihormati dan dapat dijalankan pada kelompok yang sangat besar. Agar komunitas riset yang lebih besar mendapat manfaat dari kode ini, kami mempertimbangkan untuk menjadikannya open-source. Namun, karena dana kami sangat tergantung pada penelitian yang dapat kami lakukan dengan kode, kami akan menjadi semacam penembakan di kaki.
Salah satu idenya adalah membatasi jumlah CPU yang dapat dijalankan oleh kode, mis. Maksimum 1000 CPU, bukan 100.000 yang kami gunakan. Dengan begitu komunitas riset global dapat mengambil manfaat dari kode tersebut, tetapi kami akan memiliki keuntungan pada ukuran masalah yang dapat kami jalankan.
Apakah fitur seperti itu dimungkinkan secara konseptual? Dan bagaimana fitur seperti itu diimplementasikan? Pada dasarnya kami ingin open-source kode lengkap, tetapi membatasi paralelisasi (menggunakan MPI) ke sejumlah thread MPI, misalnya menggunakan modul (sumber tertutup).