PPL Logo

libs/ck-libs/tcharm/tcharm.C File Reference

Go to the source code of this file.

Data Structures

class  TCharmTraceLibList

Functions

 CtvDeclare (TCharm *, _curTCharm)
 CkpvDeclare (bool, mapCreated)
 CsvDeclare (funcmap *, tcharm_funcmap)
void TCHARM_Api_trace (const char *routineName, const char *libraryName) noexcept
int TCHARM_Register_thread_function (TCHARM_Thread_data_start_fn fn)
TCHARM_Thread_data_start_fn getTCharmThreadFunction (int idx)
static void startTCharmThread (TCharmInitMsg *msg)
void checkPupMismatch (PUP::er &p, int expected, const char *where)
CkArrayID TCHARM_Get_threads ()
void TCHARM_Set_fallback_setup (TCHARM_Fallback_setup_fn f)
void TCHARM_Call_fallback_setup ()
CLINKAGE int TCHARM_Get_num_chunks ()
FLINKAGE int FTN_NAME (TCHARM_GET_NUM_CHUNKS, tcharm_get_num_chunks)()
CLINKAGE void TCHARM_Set_stack_size (int newStackSize)
FLINKAGE void FTN_NAME (TCHARM_SET_STACK_SIZE, tcharm_set_stack_size)
CLINKAGE void TCHARM_Set_exit ()
CLINKAGE void TCHARM_Create (int nThreads, int threadFn)
FLINKAGE void FTN_NAME (TCHARM_CREATE, tcharm_create)
static CProxy_TCharm TCHARM_Build_threads (TCharmInitMsg *msg)
CLINKAGE void TCHARM_Create_data (int nThreads, int threadFn, void *threadData, int threadDataLen)
FLINKAGE void FTN_NAME (TCHARM_CREATE_DATA, tcharm_create_data)
CkGroupID CkCreatePropMap ()
CkArrayOptions TCHARM_Attach_start (CkArrayID *retTCharmArray, int *retNumElts)
void TCHARM_Suspend ()
 Suspend the current thread. Resume by calling thread->resume().
CLINKAGE int TCHARM_Element ()
CLINKAGE int TCHARM_Num_elements ()
FLINKAGE int FTN_NAME (TCHARM_ELEMENT, tcharm_element)()
FLINKAGE int FTN_NAME (TCHARM_NUM_ELEMENTS, tcharm_num_elements)()
static void checkAddress (void *data)
CLINKAGE int TCHARM_Register (void *data, TCHARM_Pup_fn pfn)
FLINKAGE int FTN_NAME (TCHARM_REGISTER, tcharm_register)
CLINKAGE void * TCHARM_Get_userdata (int id)
FLINKAGE void * FTN_NAME (TCHARM_GET_USERDATA, tcharm_get_userdata)
CLINKAGE void TCHARM_Set_global (int globalID, void *new_value, TCHARM_Pup_global_fn pup_or_NULL)
CLINKAGE void * TCHARM_Get_global (int globalID)
CLINKAGE void TCHARM_Migrate ()
 FORTRAN_AS_C (TCHARM_MIGRATE, TCHARM_Migrate, tcharm_migrate,(void),())
 FORTRAN_AS_C (TCHARM_ASYNC_MIGRATE, TCHARM_Async_Migrate, tcharm_async_migrate,(void),())
 FORTRAN_AS_C (TCHARM_ALLOW_MIGRATE, TCHARM_Allow_Migrate, tcharm_allow_migrate,(void),())
CLINKAGE void TCHARM_Evacuate ()
 FORTRAN_AS_C (TCHARM_MIGRATE_TO, TCHARM_Migrate_to, tcharm_migrate_to,(int *destPE),(*destPE)) CLINKAGE void TCHARM_Yield()
 FORTRAN_AS_C (TCHARM_YIELD, TCHARM_Yield, tcharm_yield,(void),())
 FORTRAN_AS_C (TCHARM_BARRIER, TCHARM_Barrier, tcharm_barrier,(void),())
 FORTRAN_AS_C (TCHARM_DONE, TCHARM_Done, tcharm_done,(int *exitcode),(*exitcode)) CLINKAGE double TCHARM_Wall_timer()
FLINKAGE int FTN_NAME (TCHARM_IARGC, tcharm_iargc)()
FLINKAGE void FTN_NAME (TCHARM_GETARG, tcharm_getarg)
void _initCharm (int argc, char **argv)
 This is the main charm setup routine.
CLINKAGE void TCHARM_Init (int *argc, char ***argv)
FLINKAGE void FTN_NAME (TCHARM_INIT, tcharm_init)()
CLINKAGE int TCHARM_System (const char *shell_command)

Variables

static int lastNumChunks = 0
static TCharmTraceLibList tcharm_tracelibs
static bool tcharm_nomig = false
bool tcharm_nothreads = false
static int tcharm_stacksize = TCHARM_STACKSIZE_DEFAULT
static bool tcharm_initted = false
static CkGroupID mapID
static char * mapping = NULL
static CkVec
< TCHARM_Thread_data_start_fn
threadFnTable
static TCHARM_Fallback_setup_fn g_fallbackSetup = NULL
TCHARM_Thread_options g_tcharmOptions (1)


Function Documentation

CtvDeclare ( TCharm ,
_curTCharm   
)

CkpvDeclare ( bool  ,
mapCreated   
)

CsvDeclare ( funcmap ,
tcharm_funcmap   
)

void TCHARM_Api_trace ( const char *  routineName,
const char *  libraryName 
)

Definition at line 127 of file tcharm.C.

References Converse::CkMyPe(), CmiPrintf(), CmiPrintStackTrace(), TCharm::getElement(), TCharmTraceLibList::isTracing(), and where.

Here is the call graph for this function:

int TCHARM_Register_thread_function ( TCHARM_Thread_data_start_fn  fn  ) 

Definition at line 145 of file tcharm.C.

References idx, CkVec< T >::push_back(), and CkVec< T >::size().

Referenced by ampiNodeInit(), and MBlockNodeInit().

Here is the call graph for this function:

Here is the caller graph for this function:

TCHARM_Thread_data_start_fn getTCharmThreadFunction ( int  idx  ) 

Definition at line 152 of file tcharm.C.

Referenced by startTCharmThread().

Here is the caller graph for this function:

static void startTCharmThread ( TCharmInitMsg msg  )  [static]

Definition at line 158 of file tcharm.C.

References TCharm::activateThread(), TCharmInitMsg::data, TCharm::deactivateThread(), getTCharmThreadFunction(), and TCharmInitMsg::threadFn.

Referenced by TCharm::run(), and TCharm::TCharm().

Here is the call graph for this function:

Here is the caller graph for this function:

void checkPupMismatch ( PUP::er p,
int  expected,
const char *  where 
)

Definition at line 233 of file tcharm.C.

Referenced by TCharm::pup(), and TCharm::pupThread().

Here is the caller graph for this function:

CkArrayID TCHARM_Get_threads ( void   ) 

Definition at line 539 of file tcharm.C.

References TCharm::get(), and TCharm::getProxy().

Here is the call graph for this function:

void TCHARM_Set_fallback_setup ( TCHARM_Fallback_setup_fn  f  ) 

Definition at line 600 of file tcharm.C.

References g_fallbackSetup.

Referenced by ampiNodeInit(), armciProcInit(), and MBlockProcInit().

Here is the caller graph for this function:

void TCHARM_Call_fallback_setup ( void   ) 

Definition at line 604 of file tcharm.C.

References g_fallbackSetup.

Referenced by TCHARM_User_setup().

Here is the caller graph for this function:

CLINKAGE int TCHARM_Get_num_chunks ( void   ) 

Definition at line 617 of file tcharm.C.

References argv, CkGetArgv(), Converse::CkMyPe(), Converse::CkNumPes(), CmiGetArgIntDesc(), and lastNumChunks.

Referenced by ampiCreateMain(), ArmciDefaultSetup(), FTN_NAME(), and MBlockFallbackSetup().

Here is the call graph for this function:

Here is the caller graph for this function:

FLINKAGE int FTN_NAME ( TCHARM_GET_NUM_CHUNKS  ,
tcharm_get_num_chunks   
)

Definition at line 628 of file tcharm.C.

References TCHARM_Get_num_chunks().

Here is the call graph for this function:

CLINKAGE void TCHARM_Set_stack_size ( int  newStackSize  ) 

Definition at line 647 of file tcharm.C.

References g_tcharmOptions, and TCHARM_Thread_options::stackSize.

Referenced by FTN_NAME().

Here is the caller graph for this function:

FLINKAGE void FTN_NAME ( TCHARM_SET_STACK_SIZE  ,
tcharm_set_stack_size   
)

Definition at line 652 of file tcharm.C.

References TCHARM_Set_stack_size().

Here is the call graph for this function:

CLINKAGE void TCHARM_Set_exit ( void   ) 

Definition at line 656 of file tcharm.C.

References TCHARM_Thread_options::exitWhenDone, and g_tcharmOptions.

Referenced by TCharmMain::TCharmMain().

Here is the caller graph for this function:

CLINKAGE void TCHARM_Create ( int  nThreads,
int  threadFn 
)

Definition at line 659 of file tcharm.C.

References TCHARM_Create_data().

Referenced by ArmciDefaultSetup(), FTN_NAME(), and MBlockFallbackSetup().

Here is the call graph for this function:

Here is the caller graph for this function:

FLINKAGE void FTN_NAME ( TCHARM_CREATE  ,
tcharm_create   
)

Definition at line 666 of file tcharm.C.

References TCHARM_Create().

Here is the call graph for this function:

static CProxy_TCharm TCHARM_Build_threads ( TCharmInitMsg msg  )  [static]

Definition at line 696 of file tcharm.C.

References CkCreatePropMap(), haveConfigurableRRMap(), mapping, TCharmInitMsg::numElements, CkArrayOptions::setMap(), CkArrayOptions::setSectionAutoDelegate(), and CkArrayOptions::setStaticInsertion().

Referenced by TCHARM_Create_data().

Here is the call graph for this function:

Here is the caller graph for this function:

CLINKAGE void TCHARM_Create_data ( int  nThreads,
int  threadFn,
void *  threadData,
int  threadDataLen 
)

Definition at line 673 of file tcharm.C.

References TCharmInitMsg::data, g_tcharmOptions, msg, TCharmInitMsg::numElements, TCHARM_Build_threads(), and TCHARM_Thread_options::TCHARM_Thread_options().

Referenced by ampiCreateMain(), FTN_NAME(), and TCHARM_Create().

Here is the call graph for this function:

Here is the caller graph for this function:

FLINKAGE void FTN_NAME ( TCHARM_CREATE_DATA  ,
tcharm_create_data   
)

Definition at line 688 of file tcharm.C.

References TCHARM_Create_data().

Here is the call graph for this function:

CkGroupID CkCreatePropMap (  ) 

CkArrayOptions TCHARM_Attach_start ( CkArrayID retTCharmArray,
int retNumElts 
)

Definition at line 735 of file tcharm.C.

References CkArrayOptions::bindTo(), TCharm::get(), TCharm::getNumElements(), and TCharm::getProxy().

Referenced by ampiInit(), ARMCI_Init(), and MBLK_Init().

Here is the call graph for this function:

Here is the caller graph for this function:

void TCHARM_Suspend ( void   ) 

Suspend the current thread. Resume by calling thread->resume().

Definition at line 751 of file tcharm.C.

References TCharm::get(), and TCharm::suspend().

Here is the call graph for this function:

CLINKAGE int TCHARM_Element ( void   ) 

Definition at line 759 of file tcharm.C.

References TCharm::get(), and TCharm::getElement().

Referenced by AMPI_Register_main(), ampiInit(), ARMCI_Init(), ARMCI_Myid(), FTN_NAME(), MBLK_Get_myblock(), MBLK_Init(), and MBLK_Print().

Here is the call graph for this function:

Here is the caller graph for this function:

CLINKAGE int TCHARM_Num_elements ( void   ) 

Definition at line 764 of file tcharm.C.

References TCharm::get(), and TCharm::getNumElements().

Referenced by ARMCI_Procs(), FTN_NAME(), and MBLK_Get_nblocks().

Here is the call graph for this function:

Here is the caller graph for this function:

FLINKAGE int FTN_NAME ( TCHARM_ELEMENT  ,
tcharm_element   
)

Definition at line 770 of file tcharm.C.

References TCHARM_Element().

Here is the call graph for this function:

FLINKAGE int FTN_NAME ( TCHARM_NUM_ELEMENTS  ,
tcharm_num_elements   
)

Definition at line 772 of file tcharm.C.

References TCHARM_Num_elements().

Here is the call graph for this function:

static void checkAddress ( void *  data  )  [static]

Definition at line 776 of file tcharm.C.

References Converse::CkMyPe(), CmiIsomallocEnabled(), CmiIsomallocInRange(), CmiThreadIs(), tcharm_nomig, and tcharm_nothreads.

Referenced by FTN_NAME(), and TCHARM_Register().

Here is the call graph for this function:

Here is the caller graph for this function:

CLINKAGE int TCHARM_Register ( void *  data,
TCHARM_Pup_fn  pfn 
)

Definition at line 791 of file tcharm.C.

Referenced by AMPI_Register_pup(), and MBLK_Register().

Here is the caller graph for this function:

FLINKAGE int FTN_NAME ( TCHARM_REGISTER  ,
tcharm_register   
)

Definition at line 797 of file tcharm.C.

References TCharm::add(), checkAddress(), data, and TCharm::get().

Here is the call graph for this function:

CLINKAGE void* TCHARM_Get_userdata ( int  id  ) 

Definition at line 805 of file tcharm.C.

References TCharm::get(), and TCharm::lookupUserData().

Referenced by AMPI_Get_pup_data(), FTN_NAME(), and MBLK_Get_registered().

Here is the call graph for this function:

Here is the caller graph for this function:

FLINKAGE void* FTN_NAME ( TCHARM_GET_USERDATA  ,
tcharm_get_userdata   
)

Definition at line 810 of file tcharm.C.

References TCHARM_Get_userdata().

Here is the call graph for this function:

CLINKAGE void TCHARM_Set_global ( int  globalID,
void *  new_value,
TCHARM_Pup_global_fn  pup_or_NULL 
)

Definition at line 814 of file tcharm.C.

Referenced by FEM_Init(), IDXL_Init(), pupFEM_Chunk(), and pupIDXL_Chunk().

Here is the caller graph for this function:

CLINKAGE void* TCHARM_Get_global ( int  globalID  ) 

Definition at line 825 of file tcharm.C.

Referenced by FEM_Init(), FEM_chunk::get(), FEMchunk::get(), IDXL_Chunk::getNULL(), IDXL_Init(), pupFEM_Chunk(), and pupIDXL_Chunk().

Here is the caller graph for this function:

CLINKAGE void TCHARM_Migrate ( void   ) 

Definition at line 834 of file tcharm.C.

Referenced by AMPI_Migrate(), and ARMCI_Migrate().

Here is the caller graph for this function:

FORTRAN_AS_C ( TCHARM_MIGRATE  ,
TCHARM_Migrate  ,
tcharm_migrate  ,
(void)  ,
()   
)

Definition at line 844 of file tcharm.C.

References TCharm::async_migrate(), and TCharm::get().

Here is the call graph for this function:

FORTRAN_AS_C ( TCHARM_ASYNC_MIGRATE  ,
TCHARM_Async_Migrate  ,
tcharm_async_migrate  ,
(void)  ,
()   
)

Definition at line 851 of file tcharm.C.

References TCharm::allow_migrate(), and TCharm::get().

Here is the call graph for this function:

FORTRAN_AS_C ( TCHARM_ALLOW_MIGRATE  ,
TCHARM_Allow_Migrate  ,
tcharm_allow_migrate  ,
(void)  ,
()   
)

Definition at line 858 of file tcharm.C.

References TCharm::get(), and TCharm::migrateTo().

Here is the call graph for this function:

CLINKAGE void TCHARM_Evacuate (  ) 

Definition at line 867 of file tcharm.C.

References TCharm::evacuate(), and TCharm::get().

Referenced by AMPI_Evacuate().

Here is the call graph for this function:

Here is the caller graph for this function:

FORTRAN_AS_C ( TCHARM_MIGRATE_TO  ,
TCHARM_Migrate_to  ,
tcharm_migrate_to  ,
(int *destPE)  ,
destPE 
)

Definition at line 874 of file tcharm.C.

References TCharm::get(), and TCharm::schedule().

Here is the call graph for this function:

FORTRAN_AS_C ( TCHARM_YIELD  ,
TCHARM_Yield  ,
tcharm_yield  ,
(void)  ,
()   
)

Definition at line 882 of file tcharm.C.

References TCharm::barrier(), and TCharm::get().

Here is the call graph for this function:

FORTRAN_AS_C ( TCHARM_BARRIER  ,
TCHARM_Barrier  ,
tcharm_barrier  ,
(void)  ,
()   
)

Definition at line 889 of file tcharm.C.

References c, CkExit(), TCharm::done(), and TCharm::getNULL().

Here is the call graph for this function:

FORTRAN_AS_C ( TCHARM_DONE  ,
TCHARM_Done  ,
tcharm_done  ,
(int *exitcode)  ,
exitcode 
)

Definition at line 898 of file tcharm.C.

References c, TCharm::getNULL(), and TCharm::getTimeOffset().

Here is the call graph for this function:

FLINKAGE int FTN_NAME ( TCHARM_IARGC  ,
tcharm_iargc   
)

Definition at line 915 of file tcharm.C.

References CkGetArgc().

Here is the call graph for this function:

FLINKAGE void FTN_NAME ( TCHARM_GETARG  ,
tcharm_getarg   
)

Definition at line 920 of file tcharm.C.

References CkGetArgc(), CkGetArgv(), and src.

Here is the call graph for this function:

CLINKAGE void TCHARM_Init ( int argc,
char ***  argv 
)

Definition at line 936 of file tcharm.C.

References _initCharm(), ConverseInit(), and tcharm_initted.

Referenced by FTN_NAME().

Here is the call graph for this function:

Here is the caller graph for this function:

FLINKAGE void FTN_NAME ( TCHARM_INIT  ,
tcharm_init   
)

Definition at line 943 of file tcharm.C.

References argc, argv, and TCHARM_Init().

Here is the call graph for this function:

CLINKAGE int TCHARM_System ( const char *  shell_command  ) 

Definition at line 1043 of file tcharm.C.

References TCharm::get(), and TCharm::system().

Referenced by AMPI_System().

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

int lastNumChunks = 0 [static]

Definition at line 14 of file tcharm.C.

Referenced by TCHARM_Get_num_chunks().

Definition at line 46 of file tcharm.C.

bool tcharm_nomig = false [static]

Definition at line 47 of file tcharm.C.

Referenced by checkAddress(), TCharm::procInit(), TCharm::pup(), and TCharm::TCharm().

Definition at line 48 of file tcharm.C.

Referenced by checkAddress(), TCharm::procInit(), TCharm::run(), and TCharm::TCharm().

int tcharm_stacksize = TCHARM_STACKSIZE_DEFAULT [static]

Definition at line 52 of file tcharm.C.

Referenced by TCharm::procInit(), and TCHARM_Thread_options::sanityCheck().

bool tcharm_initted = false [static]

Definition at line 53 of file tcharm.C.

Referenced by TCharm::procInit(), and TCHARM_Init().

CkGroupID mapID [static]

Definition at line 55 of file tcharm.C.

char* mapping = NULL [static]

Definition at line 143 of file tcharm.C.

Definition at line 599 of file tcharm.C.

Referenced by TCHARM_Call_fallback_setup(), and TCHARM_Set_fallback_setup().


Generated on Mon Sep 21 08:11:14 2020 for Charm++ by  doxygen 1.5.5