Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

Can Intel Fortran run on AMD CPU

Ralph_Nelson
Novice
2,357 Views

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.

13 Replies
Steve_Lionel
Black Belt Retired Employee
2,356 Views

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?

Ralph_Nelson
Novice
2,356 Views

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.

Steve_Lionel
Black Belt Retired Employee
2,356 Views

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.

Ralph_Nelson
Novice
2,356 Views

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.

Ralph_Nelson
Novice
2,356 Views

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.

Steve_Lionel
Black Belt Retired Employee
2,356 Views

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.

mecej4
Black Belt
2,356 Views

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-plan-for-optimized-performance/ .

Ralph_Nelson
Novice
2,356 Views

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

Ralph_Nelson
Novice
2,356 Views

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

Ralph_Nelson
Novice
2,356 Views

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

Steve_Lionel
Black Belt Retired Employee
2,356 Views

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.

Devorah_H_Intel
Moderator
2,356 Views

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.

Ralph_Nelson
Novice
2,356 Views

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

Reply