Go to the source code of this file.
SCIP_RETCODE SCIPtpiInitLock | ( | SCIP_LOCK ** | lock | ) |
creates and initializes the given lock
initializes the given lock
lock | the lock |
Definition at line 45 of file tpi_none.c.
References assert(), BMSallocMemory, BMSfreeMemory, SCIP_JobQueues::lock, NULL, SCIP_ALLOC, SCIP_ERROR, and SCIP_OKAY.
Referenced by SCIPsyncstoreCreate(), and SCIPsyncstoreInit().
void SCIPtpiDestroyLock | ( | SCIP_LOCK ** | lock | ) |
destroys and frees the given lock
destroys the given lock
lock | the lock |
Definition at line 56 of file tpi_none.c.
References assert(), BMSfreeMemory, SCIP_JobQueues::lock, and NULL.
Referenced by SCIPsyncstoreExit(), and SCIPsyncstoreRelease().
SCIP_RETCODE SCIPtpiAcquireLock | ( | SCIP_LOCK * | lock | ) |
acquires the given lock
lock | the lock |
Definition at line 65 of file tpi_none.c.
References SCIP_JobQueues::lock, SCIP_Lock::lock, SCIP_ERROR, and SCIP_OKAY.
Referenced by SCIPsyncstoreCapture(), SCIPsyncstoreEnsureAllSynced(), SCIPsyncstoreRelease(), SCIPsyncstoreSetSolveIsStopped(), SCIPsyncstoreSolveIsStopped(), SCIPsyncstoreStartSync(), and SCIPtpiWaitCondition().
SCIP_RETCODE SCIPtpiReleaseLock | ( | SCIP_LOCK * | lock | ) |
releases the given lock
lock | the lock |
Definition at line 73 of file tpi_none.c.
References SCIP_JobQueues::lock, SCIP_Lock::lock, SCIP_ERROR, and SCIP_OKAY.
Referenced by SCIPsyncstoreCapture(), SCIPsyncstoreEnsureAllSynced(), SCIPsyncstoreFinishSync(), SCIPsyncstoreRelease(), SCIPsyncstoreSetSolveIsStopped(), SCIPsyncstoreSolveIsStopped(), and SCIPtpiWaitCondition().
SCIP_RETCODE SCIPtpiInitCondition | ( | SCIP_CONDITION ** | condition | ) |
initializes the given condition variable
condition | condition to be created and initialized |
Definition at line 87 of file tpi_none.c.
References assert(), BMSallocMemory, NULL, SCIP_ALLOC, SCIP_ERROR, and SCIP_OKAY.
Referenced by SCIPsyncstoreInit().
void SCIPtpiDestroyCondition | ( | SCIP_CONDITION ** | condition | ) |
destroys the given condition variable
condition | condition to be destroyed and freed |
Definition at line 98 of file tpi_none.c.
References assert(), BMSfreeMemory, and NULL.
Referenced by SCIPsyncstoreExit().
SCIP_RETCODE SCIPtpiSignalCondition | ( | SCIP_CONDITION * | condition | ) |
signals one waiting thread
signal a condition
condition | the condition variable to signal |
Definition at line 107 of file tpi_none.c.
References assert(), SCIP_Condition::condition, NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPompAcquireLock, and SCIPompReleaseLock.
SCIP_RETCODE SCIPtpiBroadcastCondition | ( | SCIP_CONDITION * | condition | ) |
signals all waiting threads
broadcase a condition
condition | the condition variable to broadcast |
Definition at line 115 of file tpi_none.c.
References assert(), SCIP_Condition::condition, NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPompAcquireLock, and SCIPompReleaseLock.
Referenced by executeJob(), and SCIPsyncstoreFinishSync().
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
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_JobQueues::lock, SCIP_Lock::lock, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPompAcquireLock, SCIPompReleaseLock, SCIPtpiAcquireLock(), and SCIPtpiReleaseLock().
Referenced by SCIPsyncstoreEnsureAllSynced().
int SCIPtpiGetNumThreads | ( | void | ) |
returns the number of threads
Definition at line 134 of file tpi_none.c.
References NULL.
Referenced by jobQueueAddJob(), and jobQueueProcessJob().
int SCIPtpiGetThreadNum | ( | void | ) |
returns the thread number
Definition at line 142 of file tpi_none.c.
Referenced by applyBoundChanges(), execConcsolver(), and executeJob().
SCIP_RETCODE SCIPtpiCreateJob | ( | SCIP_JOB ** | job, |
int | jobid, | ||
SCIP_RETCODE(* | jobfunc )(void *args), | ||
void * | jobarg ) |
creates a job for parallel processing
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().
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.
References assert(), NULL, SCIP_CALL_ABORT, SCIPtnyAcquireLock, and SCIPtnyReleaseLock.
Referenced by SCIPconcurrentSolve().
SCIP_RETCODE SCIPtpiSubmitJob | ( | SCIP_JOB * | job, |
SCIP_SUBMITSTATUS * | status ) |
submit a job for parallel processing; the return value is a globally defined status
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 assert(), SCIP_Job::jobid, jobQueueAddJob(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIP_SUBMIT_SUCCESS, SCIP_UNUSED, and threadPoolAddWork().
Referenced by SCIPconcurrentSolve().
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
jobid | the jobid of the jobs to wait for |
Definition at line 193 of file tpi_none.c.
References assert(), BMSfreeMemory, isJobRunning(), isJobRunning(), isJobWaiting(), SCIP_Job::jobid, MIN, SCIP_Job::nextjob, NULL, SCIP_Job::retcode, SCIP_CALL, SCIP_CALL_ABORT, SCIP_ERROR, SCIP_OKAY, SCIP_UNUSED, SCIPompAcquireLock, SCIPompReleaseLock, SCIPompWaitCondition(), SCIPtnyAcquireLock, SCIPtnyReleaseLock, and SCIPtnyWaitCondition.
Referenced by SCIPconcurrentSolve().
SCIP_RETCODE SCIPtpiInit | ( | int | nthreads, |
int | queuesize, | ||
SCIP_Bool | blockwhenfull ) |
initializes tpi
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 assert(), createJobQueue(), createThreadPool(), SCIP_JobQueues::nthreads, NULL, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, and SCIP_UNUSED.
Referenced by SCIPsyncstoreInit().
SCIP_RETCODE SCIPtpiExit | ( | void | ) |
deinitializes the tpi
deinitializes tpi
Definition at line 217 of file tpi_none.c.
References assert(), freeJobQueue(), freeThreadPool(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, and TRUE.
Referenced by SCIPsyncstoreExit().
SCIP_Bool SCIPtpiIsAvailable | ( | void | ) |
indicate whether a working TPI is available
Definition at line 225 of file tpi_none.c.
References FALSE, SCIP_Bool, and TRUE.
Referenced by doScipCreate(), and SCIPsolveConcurrent().
void SCIPtpiGetLibraryName | ( | char * | name, |
int | namesize ) |
get name of library that the TPI interfaces to
name | buffer to store name |
namesize | length of name buffer |
Definition at line 231 of file tpi_none.c.
References assert(), NULL, and SCIPsnprintf().
Referenced by doScipCreate().
void SCIPtpiGetLibraryDesc | ( | char * | desc, |
int | descsize ) |
get description of library that the TPI interfaces to
desc | buffer to store description |
descsize | length of description |
Definition at line 242 of file tpi_none.c.
References assert(), NULL, and SCIPsnprintf().
Referenced by doScipCreate().