GNU libgomp#
Contents:
- Copyright
- Introduction
- Enabling OpenMP
- OpenMP Implementation Status
- OpenMP Runtime Library Routines
- omp_get_active_level – Number of parallel regions
- omp_get_ancestor_thread_num – Ancestor thread ID
- omp_get_cancellation – Whether cancellation support is enabled
- omp_get_default_device – Get the default device for target regions
- omp_get_device_num – Return device number of current device
- omp_get_dynamic – Dynamic teams setting
- omp_get_initial_device – Return device number of initial device
- omp_get_level – Obtain the current nesting level
- omp_get_max_active_levels – Current maximum number of active regions
- omp_get_max_task_priority – Maximum priority value
- omp_get_max_teams – Maximum number of teams of teams region
- omp_get_max_threads – Maximum number of threads of parallel region
- omp_get_nested – Nested parallel regions
- omp_get_num_devices – Number of target devices
- omp_get_num_procs – Number of processors online
- omp_get_num_teams – Number of teams
- omp_get_num_threads – Size of the active team
- omp_get_proc_bind – Whether theads may be moved between CPUs
- omp_get_schedule – Obtain the runtime scheduling method
- omp_get_supported_active_levels – Maximum number of active regions supported
- omp_get_team_num – Get team number
- omp_get_team_size – Number of threads in a team
- omp_get_teams_thread_limit – Maximum number of threads imposed by teams
- omp_get_thread_limit – Maximum number of threads
- omp_get_thread_num – Current thread ID
- omp_in_parallel – Whether a parallel region is active
- omp_in_final – Whether in final or included task region
- omp_is_initial_device – Whether executing on the host device
- omp_set_default_device – Set the default device for target regions
- omp_set_dynamic – Enable/disable dynamic teams
- omp_set_max_active_levels – Limits the number of active parallel regions
- omp_set_nested – Enable/disable nested parallel regions
- omp_set_num_teams – Set upper teams limit for teams construct
- omp_set_num_threads – Set upper team size limit
- omp_set_schedule – Set the runtime scheduling method
- omp_set_teams_thread_limit – Set upper thread limit for teams construct
- omp_init_lock – Initialize simple lock
- omp_set_lock – Wait for and set simple lock
- omp_test_lock – Test and set simple lock if available
- omp_unset_lock – Unset simple lock
- omp_destroy_lock – Destroy simple lock
- omp_init_nest_lock – Initialize nested lock
- omp_set_nest_lock – Wait for and set nested lock
- omp_test_nest_lock – Test and set nested lock if available
- omp_unset_nest_lock – Unset nested lock
- omp_destroy_nest_lock – Destroy nested lock
- omp_get_wtick – Get timer precision
- omp_get_wtime – Elapsed wall clock time
- omp_fulfill_event – Fulfill and destroy an OpenMP event
- OpenMP Environment Variables
- OMP_CANCELLATION – Set whether cancellation is activated
- OMP_DISPLAY_ENV – Show OpenMP version and environment variables
- OMP_DEFAULT_DEVICE – Set the device used in target regions
- OMP_DYNAMIC – Dynamic adjustment of threads
- OMP_MAX_ACTIVE_LEVELS – Set the maximum number of nested parallel regions
- OMP_MAX_TASK_PRIORITY – Set the maximum priority
- OMP_NESTED – Nested parallel regions
- OMP_NUM_TEAMS – Specifies the number of teams to use by teams region
- OMP_NUM_THREADS – Specifies the number of threads to use
- OMP_PROC_BIND – Whether theads may be moved between CPUs
- OMP_PLACES – Specifies on which CPUs the theads should be placed
- OMP_STACKSIZE – Set default thread stack size
- OMP_SCHEDULE – How threads are scheduled
- OMP_TARGET_OFFLOAD – Controls offloading behaviour
- OMP_TEAMS_THREAD_LIMIT – Set the maximum number of threads imposed by teams
- OMP_THREAD_LIMIT – Set the maximum number of threads
- OMP_WAIT_POLICY – How waiting threads are handled
- GOMP_CPU_AFFINITY – Bind threads to specific CPUs
- GOMP_DEBUG – Enable debugging output
- GOMP_STACKSIZE – Set default thread stack size
- GOMP_SPINCOUNT – Set the busy-wait spin count
- GOMP_RTEMS_THREAD_POOLS – Set the RTEMS specific thread pools
- Enabling OpenACC
- OpenACC Runtime Library Routines
- acc_get_num_devices – Get number of devices for given device type
- acc_set_device_type – Set type of device accelerator to use.
- acc_get_device_type – Get type of device accelerator to be used.
- acc_set_device_num – Set device number to use.
- acc_get_device_num – Get device number to be used.
- acc_get_property – Get device property.
- acc_async_test – Test for completion of a specific asynchronous operation.
- acc_async_test_all – Tests for completion of all asynchronous operations.
- acc_wait – Wait for completion of a specific asynchronous operation.
- acc_wait_all – Waits for completion of all asynchronous operations.
- acc_wait_all_async – Wait for completion of all asynchronous operations.
- acc_wait_async – Wait for completion of asynchronous operations.
- acc_init – Initialize runtime for a specific device type.
- acc_shutdown – Shuts down the runtime for a specific device type.
- acc_on_device – Whether executing on a particular device
- acc_malloc – Allocate device memory.
- acc_free – Free device memory.
- acc_copyin – Allocate device memory and copy host memory to it.
- acc_present_or_copyin – If the data is not present on the device, allocate device memory and copy from host memory.
- acc_create – Allocate device memory and map it to host memory.
- acc_present_or_create – If the data is not present on the device, allocate device memory and map it to host memory.
- acc_copyout – Copy device memory to host memory.
- acc_delete – Free device memory.
- acc_update_device – Update device memory from mapped host memory.
- acc_update_self – Update host memory from mapped device memory.
- acc_map_data – Map previously allocated device memory to host memory.
- acc_unmap_data – Unmap device memory from host memory.
- acc_deviceptr – Get device pointer associated with specific host address.
- acc_hostptr – Get host pointer associated with specific device address.
- acc_is_present – Indicate whether host variable / array is present on device.
- acc_memcpy_to_device – Copy host memory to device memory.
- acc_memcpy_from_device – Copy device memory to host memory.
- acc_attach – Let device pointer point to device-pointer target.
- acc_detach – Let device pointer point to host-pointer target.
- acc_get_current_cuda_device – Get CUDA device handle.
- acc_get_current_cuda_context – Get CUDA context handle.
- acc_get_cuda_stream – Get CUDA stream handle.
- acc_set_cuda_stream – Set CUDA stream handle.
- acc_prof_register – Register callbacks.
- acc_prof_unregister – Unregister callbacks.
- acc_prof_lookup – Obtain inquiry functions.
- acc_register_library – Library registration.
- OpenACC Environment Variables
- CUDA Streams Usage
- OpenACC Library Interoperability
- OpenACC Profiling Interface
- OpenMP-Implementation Specifics
- Offload-Target Specifics
- The libgomp ABI
- Implementing MASTER construct
- Implementing CRITICAL construct
- Implementing ATOMIC construct
- Implementing FLUSH construct
- Implementing BARRIER construct
- Implementing THREADPRIVATE construct
- Implementing PRIVATE clause
- Implementing FIRSTPRIVATE LASTPRIVATE COPYIN and COPYPRIVATE clauses
- Implementing REDUCTION clause
- Implementing PARALLEL construct
- Implementing FOR construct
- Implementing ORDERED construct
- Implementing SECTIONS construct
- Implementing SINGLE construct
- Implementing OpenACC’s PARALLEL construct
- Reporting Bugs
- GNU GENERAL PUBLIC LICENSE
- Preamble
- TERMS AND CONDITIONS
- 0. Definitions.
- 1. Source Code.
- 2. Basic Permissions.
- 3. Protecting Users’ Legal Rights From Anti-Circumvention Law.
- 4. Conveying Verbatim Copies.
- 5. Conveying Modified Source Versions.
- 6. Conveying Non-Source Forms.
- 7. Additional Terms.
- 8. Termination.
- 9. Acceptance Not Required for Having Copies.
- 10. Automatic Licensing of Downstream Recipients.
- 11. Patents.
- 12. No Surrender of Others’ Freedom.
- 13. Use with the GNU Affero General Public License.
- 14. Revised Versions of this License.
- 15. Disclaimer of Warranty.
- 16. Limitation of Liability.
- 17. Interpretation of Sections 15 and 16.
- How to Apply These Terms to Your New Programs
- GNU Free Documentation License
- Preamble
- 1. APPLICABILITY AND DEFINITIONS
- 2. VERBATIM COPYING
- 3. COPYING IN QUANTITY
- 4. MODIFICATIONS
- 5. COMBINING DOCUMENTS
- 6. COLLECTIONS OF DOCUMENTS
- 7. AGGREGATION WITH INDEPENDENT WORKS
- 8. TRANSLATION
- 9. TERMINATION
- 10. FUTURE REVISIONS OF THIS LICENSE
- 11. RELICENSING
- ADDENDUM: How to use this License for your documents
- Funding Free Software
- Indexes and tables