Noticed a blog post on nVidia’s developer blog. The code snippets are not what I recall any version of FORTRAN to be using. FORTRAN is a block structured programming language that was designed to be as efficient as an Assembler for compiler performance end execution.
C(i,j) = sum(a(i,:) * b(:,j)), for i=1,m, j=1,n
Is illegal syntax. FORTRAN should be:
DO i=1,m, j=1,n C(i,j) = sum(a(i:)*b(:j)) END DO
But there needs to be more explicit code to fill the implied variables. FORTRAN can handle very deep nested FOR loops as needed.
The PGI FORTRAN compiler seems to have swerved from the old standard considerably. FORTRAN is not object oriented, C++ is. The FORTRAN standard is only focused on C interoperability.
Clearly some work on supporting C++ would be more popular than trying to flog some unorthodox FORTRAN product.