SPEC ACCEL: Changes in V1.3
(To check for possible updates to this document, please see http://www.spec.org/accel/Docs/ )
Introduction: Who Wants V1.3?
SPEC ACCEL V1.3 is an incremental update to SPEC ACCEL V1.2. V1.3 is intended to fix minor issues (mostly potential data races) with several of the OpenMP benchmarks as well as fix a OpenCL standards violation. Results generated with V1.3 are comparable to results from V1.2.
Contents
Benchmark source code changes
121.lavamd
503.postencil
514.pomriq
551.ppalm
552.pep
553.pclvrleaf
556.psp
Changes to Benchmarks
The following benchmark changes were made in V1.3:
121.lavamd
-
Fixes OpenCL standards violation where three "shared" arrays were declared inside of an inner loop in the kernel. "shared" arrays are required to be declared at the beginning of the kernel.
503.postencil
-
Fixed an issue where iteration variables of the inner SIMD loops must be declared private to the enclosing parallel region, otherwise, they are shared by default, which is a potential data race depending on whether reads from the iteration variable before the SIMD loops are optimized or not.
-
Due to a pointer swap within in a target region and the mapping clause is only evaluated once (when encountering the clause), the results copied back to the host device might or might not be correct depending on the number of iterations (even or odd). Fixed by adding a "target update" directive to ensure data is copied correctly.
514.pomriq
-
Add local variable to a "private" clause to avoid a potential data race.
551.ppalm
-
Fixed issue in the "advec_ws.F90" source where two scalars were not including a private clause.
-
Fixed issue with "swap_timelevel.F90" where pointer assignments were being executed redundantly if more than one team is used.
-
Fixed data race issues in flow_statistics.F90 and tridia_solver.F90.
552.pep
-
Add local variable to a "private" clause to avoid a potential data race.
553.pclvrleaf
- Fixes several source files, where two "distribute" loops in the same
"teams" construct have a dependence between them (this is not allowed, since "distribute"
loops are effectively "nowait"). Also, several "end" directives where were missing from the original source.
556.psp
-
Fixes error in the source which could cause a data race condition.
Copyright 2019 Standard Performance Evaluation Corporation
All Rights Reserved