Detailed Description
the type definitions for the SCIP parallel interface
Definition in file tpi.h.
Go to the source code of this file.
Function Documentation
◆ SCIPtpiInitLock()
SCIP_RETCODE SCIPtpiInitLock | ( | SCIP_LOCK ** | lock | ) |
creates and initializes the given lock
initializes the given lock
- Parameters
-
lock the lock
Definition at line 45 of file tpi_none.c.
References BMSallocMemory, BMSfreeMemory, SCIP_JobQueues::lock, NULL, SCIP_ALLOC, SCIP_ERROR, and SCIP_OKAY.
Referenced by SCIPsyncstoreCreate(), and SCIPsyncstoreInit().
◆ SCIPtpiDestroyLock()
void SCIPtpiDestroyLock | ( | SCIP_LOCK ** | lock | ) |
destroys and frees the given lock
destroys the given lock
- Parameters
-
lock the lock
Definition at line 56 of file tpi_none.c.
References BMSfreeMemory, SCIP_JobQueues::lock, and NULL.
Referenced by SCIPsyncstoreExit(), and SCIPsyncstoreRelease().
◆ SCIPtpiAcquireLock()
SCIP_RETCODE SCIPtpiAcquireLock | ( | SCIP_LOCK * | lock | ) |
acquires the given lock
- Parameters
-
lock the lock
Definition at line 65 of file tpi_none.c.
References SCIP_Lock::lock, SCIP_JobQueues::lock, SCIP_ERROR, and SCIP_OKAY.
Referenced by SCIPsyncstoreCapture(), SCIPsyncstoreEnsureAllSynced(), SCIPsyncstoreRelease(), SCIPsyncstoreSetSolveIsStopped(), SCIPsyncstoreSolveIsStopped(), SCIPsyncstoreStartSync(), and SCIPtpiWaitCondition().
◆ SCIPtpiReleaseLock()
SCIP_RETCODE SCIPtpiReleaseLock | ( | SCIP_LOCK * | lock | ) |
releases the given lock
- Parameters
-
lock the lock
Definition at line 73 of file tpi_none.c.
References SCIP_Lock::lock, SCIP_JobQueues::lock, SCIP_ERROR, and SCIP_OKAY.
Referenced by SCIPsyncstoreCapture(), SCIPsyncstoreEnsureAllSynced(), SCIPsyncstoreFinishSync(), SCIPsyncstoreRelease(), SCIPsyncstoreSetSolveIsStopped(), SCIPsyncstoreSolveIsStopped(), and SCIPtpiWaitCondition().
◆ SCIPtpiInitCondition()
SCIP_RETCODE SCIPtpiInitCondition | ( | SCIP_CONDITION ** | condition | ) |
initializes the given condition variable
- Parameters
-
condition condition to be created and initialized
Definition at line 87 of file tpi_none.c.
References BMSallocMemory, NULL, SCIP_ALLOC, SCIP_ERROR, and SCIP_OKAY.
Referenced by SCIPsyncstoreInit().
◆ SCIPtpiDestroyCondition()
void SCIPtpiDestroyCondition | ( | SCIP_CONDITION ** | condition | ) |
destroys the given condition variable
- Parameters
-
condition condition to be destroyed and freed
Definition at line 98 of file tpi_none.c.
References BMSfreeMemory, and NULL.
Referenced by SCIPsyncstoreExit().
◆ SCIPtpiSignalCondition()
SCIP_RETCODE SCIPtpiSignalCondition | ( | SCIP_CONDITION * | condition | ) |
signals one waiting thread
signal a condition
- Parameters
-
condition the condition variable to signal
Definition at line 107 of file tpi_none.c.
References SCIP_Condition::condition, NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPompAcquireLock, and SCIPompReleaseLock.
◆ SCIPtpiBroadcastCondition()
SCIP_RETCODE SCIPtpiBroadcastCondition | ( | SCIP_CONDITION * | condition | ) |
signals all waiting threads
broadcase a condition
- Parameters
-
condition the condition variable to broadcast
Definition at line 115 of file tpi_none.c.
References SCIP_Condition::condition, NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPompAcquireLock, and SCIPompReleaseLock.
Referenced by SCIPsyncstoreFinishSync().
◆ SCIPtpiWaitCondition()
SCIP_RETCODE SCIPtpiWaitCondition | ( | SCIP_CONDITION * | condition, |
SCIP_LOCK * | lock | ||
) |
waits on a condition variable. The given lock must be held by the caller and will be held when this function returns.
wait for a condition
- Parameters
-
condition the condition variable to wait on lock the lock that is held by the caller
Definition at line 125 of file tpi_none.c.
References SCIP_Condition::condition, SCIP_Lock::lock, SCIP_JobQueues::lock, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPompAcquireLock, SCIPompReleaseLock, SCIPtpiAcquireLock(), and SCIPtpiReleaseLock().
Referenced by SCIPsyncstoreEnsureAllSynced().
◆ SCIPtpiGetNumThreads()
int SCIPtpiGetNumThreads | ( | void | ) |
returns the number of threads
Definition at line 134 of file tpi_none.c.
◆ SCIPtpiGetThreadNum()
int SCIPtpiGetThreadNum | ( | void | ) |
returns the thread number
Definition at line 142 of file tpi_none.c.
Referenced by applyBoundChanges(), execConcsolver(), and executeJob().
◆ SCIPtpiCreateJob()
SCIP_RETCODE SCIPtpiCreateJob | ( | SCIP_JOB ** | job, |
int | jobid, | ||
SCIP_RETCODE(*)(void *args) | jobfunc, | ||
void * | jobarg | ||
) |
creates a job for parallel processing
- Parameters
-
job pointer to the job that will be created jobid the id for the current job jobfunc pointer to the job function jobarg the job's argument
Definition at line 156 of file tpi_none.c.
References BMSallocMemory, NULL, SCIP_ALLOC, SCIP_ERROR, SCIP_OKAY, and SCIP_UNUSED.
Referenced by SCIPconcurrentSolve().
◆ SCIPtpiGetNewJobID()
int SCIPtpiGetNewJobID | ( | void | ) |
get a new job id for a new set of jobs
get a new job id for the new set of submitted jobs
Definition at line 172 of file tpi_none.c.
Referenced by SCIPconcurrentSolve().
◆ SCIPtpiSubmitJob()
SCIP_RETCODE SCIPtpiSubmitJob | ( | SCIP_JOB * | job, |
SCIP_SUBMITSTATUS * | status | ||
) |
submit a job for parallel processing; the return value is a globally defined status
- Parameters
-
job pointer to the job to be submitted status pointer to store the job's submit status
Definition at line 180 of file tpi_none.c.
References SCIP_Job::jobid, NULL, SCIP_ERROR, and SCIP_UNUSED.
Referenced by SCIPconcurrentSolve().
◆ SCIPtpiCollectJobs()
SCIP_RETCODE SCIPtpiCollectJobs | ( | int | jobid | ) |
blocks until all jobs of the given jobid have finished and then returns the smallest SCIP_RETCODE of all the jobs
Blocks until all jobs with the given jobid have finished and then returns the smallest SCIP_RETCODE of all the jobs
- Parameters
-
jobid the jobid of the jobs to wait for
Definition at line 193 of file tpi_none.c.
References SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIP_UNUSED, SCIPompAcquireLock, and SCIPtnyAcquireLock.
Referenced by SCIPconcurrentSolve().
◆ SCIPtpiInit()
SCIP_RETCODE SCIPtpiInit | ( | int | nthreads, |
int | queuesize, | ||
SCIP_Bool | blockwhenfull | ||
) |
initializes tpi
- Parameters
-
nthreads the number of threads to be used queuesize the size of the queue blockwhenfull should the queue block when full
Definition at line 203 of file tpi_none.c.
References SCIP_JobQueues::nthreads, SCIP_ERROR, and SCIP_UNUSED.
Referenced by SCIPsyncstoreInit().
◆ SCIPtpiExit()
SCIP_RETCODE SCIPtpiExit | ( | void | ) |
deinitializes the tpi
deinitializes tpi
Definition at line 217 of file tpi_none.c.
References SCIP_ERROR.
Referenced by SCIPsyncstoreExit().
◆ SCIPtpiIsAvailable()
SCIP_Bool SCIPtpiIsAvailable | ( | void | ) |
indicate whether a working TPI is available
Definition at line 225 of file tpi_none.c.
Referenced by doScipCreate(), and SCIPsolveConcurrent().
◆ SCIPtpiGetLibraryName()
void SCIPtpiGetLibraryName | ( | char * | name, |
int | namesize | ||
) |
get name of library that the TPI interfaces to
- Parameters
-
name buffer to store name namesize length of name buffer
Definition at line 231 of file tpi_none.c.
References NULL, and SCIPsnprintf().
Referenced by doScipCreate().
◆ SCIPtpiGetLibraryDesc()
void SCIPtpiGetLibraryDesc | ( | char * | desc, |
int | descsize | ||
) |
get description of library that the TPI interfaces to
- Parameters
-
desc buffer to store description descsize length of description
Definition at line 242 of file tpi_none.c.
References NULL, and SCIPsnprintf().
Referenced by doScipCreate().