-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spec-2017 #1476
Comments
Next steps: I am not planning to take on this project. This is just an initial report found. Please feel free to work on this.SPEC 2017:Since SPEC 2017 consists of quite a lot of benchmarks, for this initial report I looked at exchange2 and bwaves_r benchmarks. Initial report for exchange2:
Initial report for bwaves_r:
Versions:
|
I did a few runs of SPEC on AArch64 using the scripting infrastructure from the llvm-test-suite (commit d52a93a8, plus a minor hack to remove -Werror=date-time from CMakeLists.txt) and a patched up cmake. For reference, gfortran can handle all of SPEC with "-cpp -ffree-line-length-none -ffixed-line-length-none -Wno-argument-mismatch". With an additional "-std=f2003", it can handle everything except 521/621.wrf, and with "-std=f95" it can only handle 503/603.bwaves and 554/654.roms (the others fail to compile because they use various f2003 features such as command_argument_count, the ISO_C_BINDING module etc). With flang built from fir-dev at fa74e15 and libpgmath at 7566954d, I'm getting the following results:
I'm attaching the full build & run logs. I intend to look into bwaves and roms first, since gfortran can deal with them in f95 mode. |
@rovka Thanks for the report. Shall we create separate entries for bwaves and roms? We might look into what is missing in others. And will create separate entries if we start working on any of the others. |
@kiranchandramohan I think separate entries are probably a good idea. I'm considering this on hold until we're done with upstreaming though, since there's no point in exercising the fir-dev branch if it's frozen, and I'm not sure everything we need is in main yet. |
+1 :)
We are actually poking around a bit :) If we have something new to share, we will create dedicated tickets. From my initial triaging, the following split would make sense:
What do you think? This would match how the benchmarks are split within SPEC. Also, for me each benchmark in a given pair seems to fail for the same reason (again, . On a slightly different note @rovka, I was able to reproduce your results by running SPEC directly (i.e. outside LLVM's test suite). I have a couple of questions. Q1 There's an LLVM config file too, but that one led to quite a few linker issues. I've not tried fixing that yet. Q2 Thanks! |
@banach-space I haven't looked into how the test suite sets this up. I didn't notice anything related to -lpthread, but I did pass flags for lpgmath. Basically I configured the test-suite with |
This is now tracked in the LLVM organization. |
Hi all, is there an update on the status of this anywhere? Looking into compiling spec2017 with flang now and trying to figure out what can and can't be run. I've looked at the collection of issues tracked on the llvm repo but it's difficult to ascertain from those the updated status of the list above. Thanks. |
The rate version (given below) should pass at O3 on both AArch64 and X86_64. There are some issues with mcpu=native and Ofast. For speed, I have not been tracking regularly. But the following used to pass at O3: |
Do all the speed workloads pass now? |
They all began passing sometime late last year. But I have not been tracking this regularly. |
Where can I find the config file for flang? |
Never mind. I asked this b/c I encountered some run error. Now, most of them are resolved by
|
FYI, all speed benchmarks passed with |
Enable building and execution of the SPEC 2017 benchmarks with the LLVM Flang compiler.
The text was updated successfully, but these errors were encountered: