You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Minimum version of Fortran required using gfortran: F95
How to compile with gfortran:
First you can download the project by running in bash:
wget -r -np -nH -l3 -R "index.html*" https://www.cs.virginia.edu/stream/FTP/Code/
cd stream/FTP/Code
The parameters given are used for the following: -r for recursive download; -R "index.html*" to exclude the unrelated "web" files; -l3 limits recursive search to 3 layers; -np stops ascending to the parent directory; -nh to not create a host directory.
2. Now you can compile the project by running:
make FF=gfortran
Does it compile with flang-new: Yes
You can compile stream, but requires a slight hack, as well as a build of PGMATH. I use classic flang to get a build of PGMATH. To compile:
In mysecond.c file, change the function name mysecond_ to _QPmysecond.
Now you can compile with flang-new with:
make FF=flang-new CC=clang-12 FFLAGS="-L/path/to/flang/runtime/build/lib -lpgmath"
Where the path to your PGMATH build lib directory is correctly modified.
An important note for the compilation step is the change in mysecond.c code of mysecond_. In theory we should not need to change this, however we do not currently include the ExternalNameConversion pass in the pass pipeline definition in the driver. We should not require this workaround once the pass is included in the default pass pipeline. Without it, the linker ends up not being able to find the mysecond_ subroutine in stream.f.
Enable building and execution of the stream application with the LLVM Flang compiler.
The text was updated successfully, but these errors were encountered: