tpi_openmp.c
Go to the documentation of this file.
33/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
52#define SCIPompDestroyCondition(condition) do { assert((condition)->_waiters == 0); assert((condition)->_waitnum == 0); assert((condition)->_signals == 0); omp_destroy_lock(&(condition)->_lock); } while(0)
93 SCIP_JOB** currentjobs; /**< array with slot for each thread to store the currently running job */
334 /* @todo we want to work out what to do with a full job queue. Is there a problem if the limit is hit? */
335 /* @note it is important to have a queuesize. This will stop the code submitting infinitely many jobs. */
340 /* This function queries the current job list. This could change by other threads writing to the list. So a lock is
553 /* if the job has the right jobid collect its retcode, remove it from the finished job list, and free it */
memory allocation routines
public methods for message output
public data structures and miscellaneous methods
Definition: tpi_openmp.c:63
Definition: tpi_openmp.c:83
Definition: tpi_openmp.c:91
Definition: tpi_openmp.c:73
Definition: tpi_openmp.c:57
the type definitions for the SCIP parallel interface
SCIP_RETCODE SCIPtpiWaitCondition(SCIP_CONDITION *condition, SCIP_LOCK *lock)
Definition: tpi_openmp.c:200
SCIP_RETCODE SCIPtpiCreateJob(SCIP_JOB **job, int jobid, SCIP_RETCODE(*jobfunc)(void *args), void *jobarg)
Definition: tpi_openmp.c:430
SCIP_RETCODE SCIPtpiSignalCondition(SCIP_CONDITION *condition)
Definition: tpi_openmp.c:382
SCIP_RETCODE SCIPtpiBroadcastCondition(SCIP_CONDITION *condition)
Definition: tpi_openmp.c:400
SCIP_RETCODE SCIPtpiSubmitJob(SCIP_JOB *job, SCIP_SUBMITSTATUS *status)
Definition: tpi_openmp.c:462
void SCIPtpiGetLibraryDesc(char *desc, int descsize)
Definition: tpi_openmp.c:725
static SCIP_RETCODE SCIPompWaitCondition(SCIP_CONDITION *condition, omp_lock_t *lock)
Definition: tpi_openmp.c:239
static SCIP_RETCODE createJobQueue(int nthreads, int qsize, SCIP_Bool blockwhenfull)
Definition: tpi_openmp.c:107
void SCIPtpiDestroyCondition(SCIP_CONDITION **condition)
Definition: tpi_openmp.c:694
void SCIPtpiGetLibraryName(char *name, int namesize)
Definition: tpi_openmp.c:714
SCIP_RETCODE SCIPtpiInitCondition(SCIP_CONDITION **condition)
Definition: tpi_openmp.c:677
SCIP_RETCODE SCIPtpiInit(int nthreads, int queuesize, SCIP_Bool blockwhenfull)
Definition: tpi_openmp.c:596