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