To use the CCP module, a source file will need to include the ccp.h header file. The header contains the necessary information needed to use the following API. (See /u/cashmere/ccp/apps/sor for a full example.)
void CCP_MAIN(int argc, char *argv[])
Cashmere: | app_main |
Treadmarks: | main |
ccp_init_start(int argc, char **argv)
Cashmere: | csm_init_start |
Treadmarks: | Tmk_startup |
ccp_init(int SharedMemSize, int argc, char **argv)
Cashmere: | csm_init_memory_size, csm_init_start |
Treadmarks: | Tmk_startup |
ccp_complete()
Cashmere: | csm_init_complete |
Treadmarks: | -NONE- |
ccp_distribute(char *pcVar, int iSize)
Cashmere: | csm_distribute |
Treadmarks: | Tmk_distribute |
double ccp_time(void)
Cashmere: | csm_time |
Treadmarks: | get_ccp_time_tmk -- auxiliary TMK function |
void ccp_barrier(int iIdx)
Cashmere: | csm_barrier |
Treadmarks: | Tmk_barrier |
void ccp_lock_acquire(int iIdx)
Cashmere: | csm_acquire |
Treadmarks: | Tmk_lock_acquire |
void ccp_lock_release(int iIdx)
Cashmere: | csm_release |
Treadmarks: | Tmk_lock_release |
void ccp_flag_acquire(int iIdx)
Cashmere: | csm_acquire |
Treadmarks: | none |
void ccp_flag_release(int iIdx)
Cashmere: | csm_release |
Treadmarks: | none |
void ccp_inc_flag(int iIdx)
Cashmere: | csm_inc_flag |
Treadmarks: | none |
void ccp_poll_flag(int iIdx)
Cashmere: | csm_poll_flag |
Treadmarks: | none |
void ccp_wait_gt_flag(int iIdx)
Cashmere: | csm_wait_gt_flag |
Treadmarks: | none |
void ccp_wait_lt_flag(int iIdx)
Cashmere: | csm_wait_lt_flag |
Treadmarks: | none |
void ccp_malloc(int iSize)
Cashmere: | csm_malloc |
Treadmarks: | Tmk_malloc |
void ccp_printf(const char *fmt)
Cashmere: | csm_printf |
Treadmarks: | printf |
void ccp_exit(int iRes)
Cashmere: | csm_exit |
Treadmarks: | Tmk_exit |
void ccp_errexit(int iRes)
Cashmere: | csm_errexit |
Treadmarks: | Tmk_errexit |
void ccp_memory_page_round(int iSize)
Cashmere: | csm_memory_page_round |
Treadmarks: | None |