Can Intel Fortran run on AMD CPU

Can Intel Fortran run on AMD CPU

Am thinking about upgrading my old computer which I've held off for several years.  I'm considering an AMD Threadripper, can the Intel VS Fortran 1017 support one of those chips.

14 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Yes, absolutely. Just avoid the /Qx option (other than /QxHost, which would be a good choice for processor selection.) In general, Intel Fortran is better than other Fortran compilers for AMD processors. Is your application something that can take advantage of lots of slower threads?

Steve (aka "Doctor Fortran") - Retired from Intel

Thanks Steve,

Got things up and running quickly, 1920X that uses 24 threads.  Yes it has slow threads.  Software was originally developed for Cray XMP so aimed at vector processing.  I've significantly update it but it is far from perfect.  Resource manager shows many of the cores do little work.

Spent time testing compiler options and looks like these are the best options right now. 
/nologo /O2 /Qopt-prefetch=2 /assume:buffered_io /Qip /Qopt-matmul /assume:nocc_omp /reentrancy:threaded /Qopenmp-offload- /extend_source:132 /module:"x64\Release\\" /object:"x64\Release\\" /Fd"x64\Release\vc140.pdb" /libs:dll /threads /c

Tried the autoparallel and that slows things significantly.  I assume it is waiting a lot of that time.

Suggestions welcome.

First, I would recommend -xHost if you are also compiling on the AMD system. I don't know which of the Intel instruction sets that processor supports, but you could try -msse4.2 which I think will work. Did you try -O3? Also I would expect -Qipo for whole-program optimization would help a lot.

Steve (aka "Doctor Fortran") - Retired from Intel

Yes, -03 wasn't much different.  Qipo isn't a major difference, less than 1% overall run time.  Biggest improvement with QxHost and arch:AV at ~5% reduced run time.

You may already know this but just in case.  I found this site (http://www.cpu-world.com/CPUs/Zen/AMD-Ryzen%20Threadripper%201920X.html) that indicates what instruction sets various cpus run.

Thanks - I had done a web search but hadn't come across anything that detailed. So the Ryzen supports AVX and AVX2. Enabling these may or may not help. (Use -arch AVX or -arch CORE-AVX2  for these, -m doesn't go up that far.) I see you found -arch AVX already. -xHost should pick the right option.

Intel VTune Amplifier XE has nice graphs that show where threads are waiting or idle. You'd do well, if threads are sitting idle, finding ways to give fewer threads more work.

Steve (aka "Doctor Fortran") - Retired from Intel

There were reports of teething problems related to how Windows 10 schedules work on principal and virtual threads on Ryzens. Please see if you need to install the AMD drivers mentioned at https://www.digitaltrends.com/computing/amd-driver-update-adds-power-pla... .

Thanks mecej4, I'm already up at 17.4.  Only recently got things up and running so I downloaded the latest drivers etc.

Steve, thanks for your comment on graphs.  I've not used them before so clearly I have some learning to do.

Steve, can you point to any good links on making plots with VTune?

I’m not a VTune expert, but I have seen others use this feature. You could ask in the VTune forum or maybe read the Intel product description which has lots of example output.

Steve (aka "Doctor Fortran") - Retired from Intel

Quote:

Ralph Nelson wrote:

can you point to any good links on making plots with VTune?

Among many other Vtune guides and tutorials, this documentation might be helpful.

Devorah - Intel® Developer Support

Thank you Devorah,  I've been otherwise busy but I'll go back and take a looked and will continue to study.

Leave a Comment

Please sign in to add a comment. Not a member? Join today