Flush without a list in lock routines

Discuss the OpenMP 3.0 API Specifications with the OpenMP Arch. Review Board. (Read Only)

Flush without a list in lock routines

Postby nathanweeks » Mon Feb 01, 2010 7:45 pm

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: 41
Joined: Sun May 17, 2009 6:19 am
Location: Iowa State University

Re: Flush without a list in lock routines

Postby bronis » Tue Feb 02, 2010 7:18 pm


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.


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

Return to OpenMP 3.0 API Specifications

Who is online

Users browsing this forum: No registered users and 1 guest