Flush without a list in lock routines

Discuss the OpenMP 3.0 API Specifications with the OpenMP Arch. Review Board. (Read Only)
Forum rules
The OpenMP Forums are now closed to new posts. Please visit Stack Overflow if you are in need of help: https://stackoverflow.com/questions/tagged/openmp
Posts: 41
Joined: Sun May 17, 2009 6:19 am
Location: Iowa State University

Flush without a list in lock routines

Post by nathanweeks »

The OpenMP 3.0 API spec contains a new sentence on page 134, lines 30-32:
The lock routines include a flush with no list; the read and update to the lock variable must be implemented as if they are atomic with the flush.
This is more inclusive than the explicit list of lock routines that include a flush with no list given on p. 75, lines 10-13, which doesn't mention omp_init_lock, omp_init_nest_lock, omp_destroy_lock, or omp_destroy_nest_lock. Does a flush without a list now occur in these routines, too?
Nathan Weeks
Iowa State University HPC Group

Posts: 6
Joined: Thu Oct 09, 2008 4:38 am

Re: Flush without a list in lock routines

Post by bronis »


You are correct that the init and destroy routines should not include a flush. We created this ambiguity in the 3.0 spec when we updated that section to reflect the requirement of a flush with no list that was added in the 2.5 spec. We will fix this in the 3.1 spec. I think you can safely limit expectations to the routines explicitly identified on page 75.