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 |