我的群集有问题。我正在使用一个没有线程的旧系统(它们没有在我的系统中实现)。我的问题很简单:我可以与OpenMP并行工作而无需在程序中定义线程数吗?我的意思是,使用openMP和真正的核心。 如果是这种情况,我想知道如何做到这一点。我正在使用Fortran 90。
答案 0 :(得分:1)
您可以使用变量OMP_NUM_THREADS指定要运行的线程数。这仅在程序内部与此相关的指令尚未指定时才有效。
如果要在节点之间进行计算,则应该查看MPI。
警告:如果您的系统每个节点只有1个核心,那么您将无法从使用多个线程中受益,甚至可能导致性能下降。您唯一的希望是处理器启用了多线程,但它不会像多核一样。