我目前使用的是gfortran 4.9.2,我想知道编译器是否真正知道如何利用DO CONCURRENT结构(Fortran 2008)。我知道编译器“支持”它,但这并不清楚。例如,如果自动并行化被打开(指定了一些线程数),编译器是否知道如何并行化do concurrent循环?
编辑:如评论所述,这个之前的问题在SO上非常类似于我的问题,但它是在2012年,只有非常最新版本的gfortran才实现了现代Fortran的最新功能,因此我认为问一下2015年编译器的当前状态是值得的。
编辑:如评论所述,这个之前的问题在SO上非常类似于我的问题,但它是在2012年,只有非常最新版本的gfortran才实现了现代Fortran的最新功能,因此我认为问一下2015年编译器的当前状态是值得的。
do concurrent
比带有OpenMPfor
的do
更能实现编译器自动向量化。我已经花了相当多的时间研究编译器自动向量化,而do concurrent
并不能解决对齐问题。Fortran语义已经确保了反别名和OpenMPfor
意味着循环独立,那么你认为从do concurrent
中还能得到什么? - Jeff Hammond