Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
941 Views

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.

13 Replies
Highlighted
Black Belt Retired Employee
941 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?

Highlighted
941 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.

0 Kudos
Highlighted
Black Belt Retired Employee
941 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.

0 Kudos
Highlighted
941 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.

0 Kudos
Highlighted
941 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.

0 Kudos
Highlighted
Black Belt Retired Employee
941 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.

0 Kudos
Highlighted
Black Belt
941 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/ .

0 Kudos
Highlighted
941 Views

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

0 Kudos
Highlighted
941 Views

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

0 Kudos
Highlighted
941 Views

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

0 Kudos
Highlighted
Black Belt Retired Employee
941 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.

0 Kudos
Highlighted
Moderator
941 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.

0 Kudos
Highlighted
941 Views

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

0 Kudos