[PATCH] D96104: [test-suite] SPEC2017 CPU Fotonik3d floating point tests.

Nichols A. Romero via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 5 15:17:29 PST 2021


naromero77 added inline comments.


================
Comment at: External/SPEC/CFP2017rate/549.fotonik3d_r/CMakeLists.txt:11-13
+speccpu2017_run_test(
+  RUN_TYPE test
+)
----------------
Meinersbur wrote:
> What does this do without a command to run?
The test is running:

```
/home/naromero/testsuite-backup/build-gcc/tools/timeit-target --limit-core 0 --limit-cpu 7200 --timeout 7200 --limit-file-size 104857600 --limit-rss-size 838860800 --redirect-input /dev/null --chdir /home/naromero/testsuite-backup/build-g\
cc/External/SPEC/CFP2017rate/549.fotonik3d_r/run_train --summary /home/naromero/testsuite-backup/build-gcc/External/SPEC/CFP2017rate/549.fotonik3d_r/Output/549.fotonik3d_r.test.time ../549.fotonik3d_r
```

The name of the inputs files and output files are hard-coded into this test. Does not need anything to read anything from STDIN.


================
Comment at: External/SPEC/CFP2017rate/549.fotonik3d_r/CMakeLists.txt:30-31
+# fotonik3d has both relative and absolute tolerances
+speccpu2017_verify_output(RELATIVE_TOLERANCE 1.0e-10)
+speccpu2017_verify_output(ABSOLUTE_TOLERANCE 1.0e-27)
+
----------------
Meinersbur wrote:
> Does fpcmd work with both tolerances in one invocation?
Good question, I will check.


================
Comment at: External/SPEC/CFP2017rate/549.fotonik3d_r/CMakeLists.txt:63
+            "${TEST_SUITE_SPEC2017_ROOT}/bin/specxz"
+    COMMAND "${TEST_SUITE_SPEC2017_ROOT}/bin/specxz"
+            -dc "${INPUT_${_run_type}_DIR}/OBJ.dat.xz"
----------------
Meinersbur wrote:
> Files in this dir requires to run the install script, where I up to now just extracted the archive. (`specxz` is in `\tools\bin\$platform`). In addition, the platform on which cmake runs, llvm-lit is invoked, and the tests executables are running (`TEST_SUITE_REMOTE_HOST`) might not be the same. For which of these architecture is `specxz` supposed to be?
> 
> Is there any possibility to not require installation?
I assume that SPEC CPU 2017 is installed by the user. The `object.pm` for fotonik3d includes a `sub generate_inputs` section which calls `specxz`. So, if you just run the SPEC CPU 2017 installer it will not create the needed `OBJ.dat`, it is created on the fly.

The `specxz` that is pointed to in `object.pm`is
`'command'   => ::jp($ENV{SPEC}, "bin", "specxz"),`

Your point is that that I might be using the wrong `specxz`? This is called while the tests are being built (after cmake, during make, but before the call to llvm-lit), which is normally the host? Is `${TEST_SUITE_SPEC2017_ROOT}/bin/specxz` not for the host?



Repository:
  rT test-suite

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D96104/new/

https://reviews.llvm.org/D96104



More information about the llvm-commits mailing list