omp_set_num_threads
– Set upper team size limitomp_get_num_threads
– Size of the active teamomp_get_max_threads
– Maximum number of threads of parallel regionomp_get_thread_num
– Current thread IDomp_in_parallel
– Whether a parallel region is activeomp_set_dynamic
– Enable/disable dynamic teamsomp_get_dynamic
– Dynamic teams settingomp_get_cancellation
– Whether cancellation support is enabledomp_set_nested
– Enable/disable nested parallel regionsomp_get_nested
– Nested parallel regionsomp_set_schedule
– Set the runtime scheduling methodomp_get_schedule
– Obtain the runtime scheduling methodomp_get_teams_thread_limit
– Maximum number of threads imposed by teamsomp_get_supported_active_levels
– Maximum number of active regions supportedomp_set_max_active_levels
– Limits the number of active parallel regionsomp_get_max_active_levels
– Current maximum number of active regionsomp_get_level
– Obtain the current nesting levelomp_get_ancestor_thread_num
– Ancestor thread IDomp_get_team_size
– Number of threads in a teamomp_get_active_level
– Number of parallel regionsomp_get_num_teams
– Number of teamsomp_get_team_num
– Get team numberomp_set_num_teams
– Set upper teams limit for teams constructomp_get_max_teams
– Maximum number of teams of teams regionomp_set_teams_thread_limit
– Set upper thread limit for teams constructomp_get_thread_limit
– Maximum number of threadsomp_get_num_procs
– Number of processors onlineomp_set_default_device
– Set the default device for target regionsomp_get_default_device
– Get the default device for target regionsomp_get_num_devices
– Number of target devicesomp_get_device_num
– Return device number of current deviceomp_get_device_from_uid
– Obtain the device number to a unique idomp_get_uid_from_device
– Obtain the unique id of a deviceomp_is_initial_device
– Whether executing on the host deviceomp_get_initial_device
– Return device number of initial deviceomp_target_alloc
– Allocate device memoryomp_target_free
– Free device memoryomp_target_is_present
– Check whether storage is mappedomp_target_is_accessible
– Check whether memory is device accessibleomp_target_memcpy
– Copy data between devicesomp_target_memcpy_async
– Copy data between devices asynchronouslyomp_target_memcpy_rect
– Copy a subvolume of data between devicesomp_target_memcpy_rect_async
– Copy a subvolume of data between devices asynchronouslyomp_target_associate_ptr
– Associate a device pointer with a host pointeromp_target_disassociate_ptr
– Remove device–host pointer associationomp_get_mapped_ptr
– Return device pointer to a host pointeromp_init_lock
– Initialize simple lockomp_init_nest_lock
– Initialize nested lockomp_destroy_lock
– Destroy simple lockomp_destroy_nest_lock
– Destroy nested lockomp_set_lock
– Wait for and set simple lockomp_set_nest_lock
– Wait for and set nested lockomp_unset_lock
– Unset simple lockomp_unset_nest_lock
– Unset nested lockomp_test_lock
– Test and set simple lock if availableomp_test_nest_lock
– Test and set nested lock if availableomp_get_num_interop_properties
– Get the number of implementation-specific propertiesomp_get_interop_int
– Obtain integer-valued interoperability propertyomp_get_interop_ptr
– Obtain pointer-valued interoperability propertyomp_get_interop_str
– Obtain string-valued interoperability propertyomp_get_interop_name
– Obtain the name of an interop_property
value as stringomp_get_interop_type_desc
– Obtain type and description to an interop_property
omp_get_interop_rc_desc
– Obtain error string to an interop_rc
error codeomp_init_allocator
– Create an allocatoromp_destroy_allocator
– Destroy an allocatoromp_set_default_allocator
– Set the default allocatoromp_get_default_allocator
– Get the default allocatoromp_alloc
– Memory allocation with an allocatoromp_aligned_alloc
– Memory allocation with an allocator and alignmentomp_free
– Freeing memory allocated with OpenMP routinesomp_calloc
– Allocate nullified memory with an allocatoromp_aligned_calloc
– Allocate aligned nullified memory with an allocatoromp_realloc
– Reallocate memory allocated with OpenMP routinesOMP_ALLOCATOR
– Set the default allocatorOMP_AFFINITY_FORMAT
– Set the format string used for affinity displayOMP_CANCELLATION
– Set whether cancellation is activatedOMP_DISPLAY_AFFINITY
– Display thread affinity informationOMP_DISPLAY_ENV
– Show OpenMP version and environment variablesOMP_DEFAULT_DEVICE
– Set the device used in target regionsOMP_DYNAMIC
– Dynamic adjustment of threadsOMP_MAX_ACTIVE_LEVELS
– Set the maximum number of nested parallel regionsOMP_MAX_TASK_PRIORITY
– Set the maximum priorityOMP_NESTED
– Nested parallel regionsOMP_NUM_TEAMS
– Specifies the number of teams to use by teams regionOMP_NUM_THREADS
– Specifies the number of threads to useOMP_PROC_BIND
– Whether threads may be moved between CPUsOMP_PLACES
– Specifies on which CPUs the threads should be placedOMP_STACKSIZE
– Set default thread stack sizeOMP_SCHEDULE
– How threads are scheduledOMP_TARGET_OFFLOAD
– Controls offloading behaviorOMP_TEAMS_THREAD_LIMIT
– Set the maximum number of threads imposed by teamsOMP_THREAD_LIMIT
– Set the maximum number of threadsOMP_WAIT_POLICY
– How waiting threads are handledGOMP_CPU_AFFINITY
– Bind threads to specific CPUsGOMP_DEBUG
– Enable debugging outputGOMP_STACKSIZE
– Set default thread stack sizeGOMP_SPINCOUNT
– Set the busy-wait spin countGOMP_RTEMS_THREAD_POOLS
– Set the RTEMS specific thread poolsacc_get_num_devices
– Get number of devices for given device typeacc_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 deviceacc_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.This manual documents the usage of libgomp, the GNU Offloading and Multi Processing Runtime Library. This includes the GNU implementation of the OpenMP Application Programming Interface (API) for multi-platform shared-memory parallel programming in C/C++ and Fortran, and the GNU implementation of the OpenACC Application Programming Interface (API) for offloading of code to accelerator devices in C/C++ and Fortran.
Originally, libgomp implemented the GNU OpenMP Runtime Library. Based on this, support for OpenACC and offloading (both OpenACC and OpenMP 4’s target construct) has been added later on, and the library’s name changed to GNU Offloading and Multi Processing Runtime Library.