Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

available_threads (3p)

Name

available_threads - returns information about current thread usage

Synopsis

SUBROUTINE AVAILABLE_THREADS(TOTAL, USING)

INTEGER TOTAL, USING

SUBROUTINE AVAILABLE_THREADS_64(TOTAL, USING)

INTEGER*8 TOTAL, USING




F95 INTERFACE
SUBROUTINE AVAILABLE_THREADS(TOTAL, USING)

INTEGER :: TOTAL, USING

SUBROUTINE AVAILABLE_THREADS_64(TOTAL, USING)

INTEGER(8) :: TOTAL, USING




C INTERFACE
#include <sunperf.h>

void available_threads(int *total, int *using);

void available_threads_64(long *total, long *using);

Description

Oracle Solaris Studio Performance Library                available_threads(3P)



NAME
       available_threads - returns information about current thread usage


SYNOPSIS
       SUBROUTINE AVAILABLE_THREADS(TOTAL, USING)

       INTEGER TOTAL, USING

       SUBROUTINE AVAILABLE_THREADS_64(TOTAL, USING)

       INTEGER*8 TOTAL, USING




   F95 INTERFACE
       SUBROUTINE AVAILABLE_THREADS(TOTAL, USING)

       INTEGER :: TOTAL, USING

       SUBROUTINE AVAILABLE_THREADS_64(TOTAL, USING)

       INTEGER(8) :: TOTAL, USING




   C INTERFACE
       #include <sunperf.h>

       void available_threads(int *total, int *using);

       void available_threads_64(long *total, long *using);



PURPOSE
       AVAILABLE_THREADS  calls  library routine OMP_GET_MAX_THREADS to obtain
       the maximum value that can be returned by calls to OMP_GET_NUM_THREADS.
       This value is stored in TOTAL. If OMP_SET_NUM_THREADS is used to change
       the number of threads, subsequent calls to  AVAILABLE_THREADS,  whether
       calling  from  a  serial region or parallel region, will return the new
       value in TOTAL. Also, in a parallel environment,  if  available_threads
       is  called  from  a  serial region of the master thread, it returns the
       number of threads  available  for  execution  (determined  by  function
       OMP_GET_NUM_THREADS)  in  argument  USING. Else, if it is called from a
       thread in the team executing the parallel region  it  returns  a  1  in
       USING.      For     more     information     on    OMP_GET_MAX_THREADS,
       OMP_GET_NUM_THREADS, and OMP_SET_NUM_THREADS,  see the  OpenMP  Fortran
       Application Program Interface document at http://www.openmp.org.


ARGUMENTS
       TOTAL (output)
                 Maximum value that can be returned by calls to USING_THREADS


       USING (output)
                 If  AVAILABLE_THREADS is called from a parallel region, USING
                 = 1.  If AVAILABLE_THREADS is called from  a  serial  region,
                 USING  contains the number of threads available for execution
                 in parallel.



                                  7 Nov 2015             available_threads(3P)