# Emulator events
This is a exhaustive list of the events recognized by the emulator.
Built on Jun 17 2024.
## Model nanos6
List of events for the model *nanos6* with identifier **`6`** at version `1.1.0`:
6Yc+(u32 typeid, str label)
- creates task type %{typeid} with label "%{label}"
6Tc(u32 taskid, u32 typeid)
- creates task %{taskid} with type %{typeid}
6Tx(u32 taskid)
- executes the task %{taskid}
6Te(u32 taskid)
- ends the task %{taskid}
6Tp(u32 taskid)
- pauses the task %{taskid}
6Tr(u32 taskid)
- resumes the task %{taskid}
6W[
- enters worker main loop, looking for tasks
6W]
- leaves worker main loop, looking for tasks
6Wt
- begins handling a task via handleTask()
6WT
- ceases handling a task via handleTask()
6Ww
- begins switching to another worker via switchTo()
6WW
- ceases switching to another worker via switchTo()
6Wm
- begins migrating the current worker to another CPU
6WM
- ceases migrating the current worker to another CPU
6Ws
- begins suspending the worker via suspend()
6WS
- ceases suspending the worker via suspend()
6Wr
- begins resuming another worker via resume()
6WR
- ceases resuming another worker via resume()
6Wg
- enters sponge mode (absorbing system noise)
6WG
- leaves sponge mode (absorbing system noise)
6W*
- signals another worker to wake up
6Pp
- sets progress state to Progressing
6Pr
- sets progress state to Resting
6Pa
- sets progress state to Absorbing
6C[
- begins creating a new task
6C]
- ceases creating a new task
6U[
- begins submitting a task via submitTask()
6U]
- ceases submitting a task via submitTask()
6F[
- begins spawning a function via spawnFunction()
6F]
- ceases spawning a function via spawnFunction()
6t[
- enters the task body
6t]
- leaves the task body
6O[
- begins running the task body as taskfor collaborator
6O]
- ceases running the task body as taskfor collaborator
6Ma
- starts allocating memory
6MA
- stops allocating memory
6Mf
- starts freeing memory
6MF
- stops freeing memory
6Dr
- begins registration of task dependencies
6DR
- ceases registration of task dependencies
6Du
- begins unregistration of task dependencies
6DU
- ceases unregistration of task dependencies
6S[
- begins scheduler serving mode
6S]
- ceases scheduler serving mode
6Sa
- begins submitting a ready task via addReadyTask()
6SA
- ceases submitting a ready task via addReadyTask()
6Sp
- begins processing ready tasks via processReadyTasks()
6SP
- ceases processing ready tasks via processReadyTasks()
6S@
- self assigns itself a task
6Sr
- receives a task from another thread
6Ss
- sends a task to another thread
6Bb
- begins blocking the current task
6BB
- ceases blocking the current task
6Bu
- begins unblocking a task
6BU
- ceases unblocking a task
6Bw
- enters a task wait
6BW
- leaves a task wait
6Bf
- enters a wait for
6BF
- leaves a wait for
6He
- begins execution as external thread
6HE
- ceases execution as external thread
6Hw
- begins execution as worker
6HW
- ceases execution as worker
6Hl
- begins execution as leader
6HL
- ceases execution as leader
6Hm
- begins execution as main thread
6HM
- ceases execution as main thread
## Model nodes
List of events for the model *nodes* with identifier **`D`** at version `1.0.0`:
DR[
- begins registering task accesses
DR]
- ceases registering task accesses
DU[
- begins unregistering task accesses
DU]
- ceases unregistering task accesses
DW[
- enters a blocking condition (waiting for an If0 task)
DW]
- leaves a blocking condition (waiting for an If0 task)
DI[
- begins the inline execution of an If0 task
DI]
- ceases the inline execution of an If0 task
DT[
- enters a taskwait
DT]
- leaves a taskwait
DC[
- begins creating a task
DC]
- ceases creating a task
DS[
- begins submitting a task
DS]
- ceases submitting a task
DP[
- begins spawning a function
DP]
- ceases spawning a function
## Model kernel
List of events for the model *kernel* with identifier **`K`** at version `1.0.0`:
KCO
- out of CPU
KCI
- back to CPU
## Model mpi
List of events for the model *mpi* with identifier **`M`** at version `1.0.0`:
MUf
- enters MPI_Finalize()
MUF
- leaves MPI_Finalize()
MUi
- enters MPI_Init()
MUI
- leaves MPI_Init()
MUt
- enters MPI_Init_thread()
MUT
- leaves MPI_Init_thread()
MW[
- enters MPI_Wait()
MW]
- leaves MPI_Wait()
MWa
- enters MPI_Waitall()
MWA
- leaves MPI_Waitall()
MWs
- enters MPI_Waitsome()
MWS
- leaves MPI_Waitsome()
MWy
- enters MPI_Waitany()
MWY
- leaves MPI_Waitany()
MT[
- enters MPI_Test()
MT]
- leaves MPI_Test()
MTa
- enters MPI_Testall()
MTA
- leaves MPI_Testall()
MTy
- enters MPI_Testany()
MTY
- leaves MPI_Testany()
MTs
- enters MPI_Testsome()
MTS
- leaves MPI_Testsome()
MS[
- enters MPI_Send()
MS]
- leaves MPI_Send()
MSb
- enters MPI_Bsend()
MSB
- leaves MPI_Bsend()
MSr
- enters MPI_Rsend()
MSR
- leaves MPI_Rsend()
MSs
- enters MPI_Ssend()
MSS
- leaves MPI_Ssend()
MR[
- enters MPI_Recv()
MR]
- leaves MPI_Recv()
MRs
- enters MPI_Sendrecv()
MRS
- leaves MPI_Sendrecv()
MRo
- enters MPI_Sendrecv_replace()
MRO
- leaves MPI_Sendrecv_replace()
MAg
- enters MPI_Allgather()
MAG
- leaves MPI_Allgather()
MAr
- enters MPI_Allreduce()
MAR
- leaves MPI_Allreduce()
MAa
- enters MPI_Alltoall()
MAA
- leaves MPI_Alltoall()
MCb
- enters MPI_Barrier()
MCB
- leaves MPI_Barrier()
MCe
- enters MPI_Exscan()
MCE
- leaves MPI_Exscan()
MCs
- enters MPI_Scan()
MCS
- leaves MPI_Scan()
MDb
- enters MPI_Bcast()
MDB
- leaves MPI_Bcast()
MDg
- enters MPI_Gather()
MDG
- leaves MPI_Gather()
MDs
- enters MPI_Scatter()
MDS
- leaves MPI_Scatter()
ME[
- enters MPI_Reduce()
ME]
- leaves MPI_Reduce()
MEs
- enters MPI_Reduce_scatter()
MES
- leaves MPI_Reduce_scatter()
MEb
- enters MPI_Reduce_scatter_block()
MEB
- leaves MPI_Reduce_scatter_block()
Ms[
- enters MPI_Isend()
Ms]
- leaves MPI_Isend()
Msb
- enters MPI_Ibsend()
MsB
- leaves MPI_Ibsend()
Msr
- enters MPI_Irsend()
MsR
- leaves MPI_Irsend()
Mss
- enters MPI_Issend()
MsS
- leaves MPI_Issend()
Mr[
- enters MPI_Irecv()
Mr]
- leaves MPI_Irecv()
Mrs
- enters MPI_Isendrecv()
MrS
- leaves MPI_Isendrecv()
Mro
- enters MPI_Isendrecv_replace()
MrO
- leaves MPI_Isendrecv_replace()
Mag
- enters MPI_Iallgather()
MaG
- leaves MPI_Iallgather()
Mar
- enters MPI_Iallreduce()
MaR
- leaves MPI_Iallreduce()
Maa
- enters MPI_Ialltoall()
MaA
- leaves MPI_Ialltoall()
Mcb
- enters MPI_Ibarrier()
McB
- leaves MPI_Ibarrier()
Mce
- enters MPI_Iexscan()
McE
- leaves MPI_Iexscan()
Mcs
- enters MPI_Iscan()
McS
- leaves MPI_Iscan()
Mdb
- enters MPI_Ibcast()
MdB
- leaves MPI_Ibcast()
Mdg
- enters MPI_Igather()
MdG
- leaves MPI_Igather()
Mds
- enters MPI_Iscatter()
MdS
- leaves MPI_Iscatter()
Me[
- enters MPI_Ireduce()
Me]
- leaves MPI_Ireduce()
Mes
- enters MPI_Ireduce_scatter()
MeS
- leaves MPI_Ireduce_scatter()
Meb
- enters MPI_Ireduce_scatter_block()
MeB
- leaves MPI_Ireduce_scatter_block()
## Model ovni
List of events for the model *ovni* with identifier **`O`** at version `1.1.0`:
OAr(i32 cpu, i32 tid)
- changes the affinity of thread %{tid} to CPU %{cpu}
OAs(i32 cpu)
- switches it's own affinity to the CPU %{cpu}
OB.
- emits a burst event to measure latency
OHC(i32 cpu, u64 tag)
- creates a new thread on CPU %{cpu} with tag %#llx{tag}
OHc
- enters the Cooling state (about to be paused)
OHe
- ends the execution
OHp
- pauses the execution
OHr
- resumes the execution
OHw
- enters the Warming state (about to be running)
OHx(i32 cpu, i32 tid, u64 tag)
- begins the execution on CPU %{cpu} created from %{tid} with tag %#llx{tag}
OCn(i32 cpu)
- informs there are %{cpu} CPUs
OF[
- begins flushing events to disk
OF]
- ceases flushing events to disk
OU[
- enters unordered event region
OU]
- leaves unordered event region
OM[(i64 value, i32 type)
- push mark with value %{value} from type %{type}
OM](i64 value, i32 type)
- pop mark with value %{value} from type %{type}
OM=(i64 value, i32 type)
- set mark with value %{value} from type %{type}
## Model openmp
List of events for the model *openmp* with identifier **`P`** at version `1.1.0`:
PBb
- begins plain barrier
PBB
- ceases plain barrier
PBj
- begins join barrier
PBJ
- ceases join barrier
PBf
- begins fork barrier
PBF
- ceases fork barrier
PBt
- begins tasking barrier
PBT
- ceases tasking barrier
PBs
- begins spin wait
PBS
- ceases spin wait
PIa
- begins critical acquiring
PIA
- ceases critical acquiring
PIr
- begins critical releasing
PIR
- ceases critical releasing
PI[
- begins critical section
PI]
- ceases critical section
PWd
- begins distribute
PWD
- ceases distribute
PWy
- begins dynamic for init
PWY
- ceases dynamic for init
PWc
- begins dynamic for chunk
PWC
- ceases dynamic for chunk
PWs
- begins static for
PWS
- ceases static for
PWe
- begins section
PWE
- ceases section
PWi
- begins single
PWI
- ceases single
PTa
- begins task allocation
PTA
- ceases task allocation
PTc
- begins checking task dependencies
PTC
- ceases checking task dependencies
PTd
- begins duplicating a task
PTD
- ceases duplicating a task
PTr
- begins releasing task dependencies
PTR
- ceases releasing task dependencies
PT[
- begins running a task
PT]
- ceases running a task
PTi
- begins running an if0 task
PTI
- ceases running an if0 task
PTs
- begins scheduling a task
PTS
- ceases scheduling a task
PTg
- begins a taskgroup
PTG
- ceases a taskgroup
PTt
- begins a taskwait
PTT
- ceases a taskwait
PTw
- begins waiting for taskwait dependencies
PTW
- ceases waiting for taskwait dependencies
PTy
- begins a taskyield
PTY
- ceases a taskyield
PA[
- enters the attached state
PA]
- leaves the attached state
PMi
- begins microtask internal
PMI
- ceases microtask internal
PMu
- begins microtask user code
PMU
- ceases microtask user code
PH[
- begins worker loop
PH]
- ceases worker loop
PCf
- begins fork call
PCF
- ceases fork call
PCi
- begins initialization
PCI
- ceases initialization
## Model tampi
List of events for the model *tampi* with identifier **`T`** at version `1.0.0`:
TCi
- starts issuing a non-blocking communication operation
TCI
- stops issuing a non-blocking communication operation
TGc
- starts checking pending requests from the global array
TGC
- stops checking pending requests from the global array
TLi
- enters the library code at an API function
TLI
- leaves the library code at an API function
TLp
- enters the library code at a polling function
TLP
- leaves the library code at a polling function
TQa
- starts adding a ticket/requests to a queue
TQA
- stops adding a ticket/requests to a queue
TQt
- starts transferring tickets/requests from queues to global array
TQT
- stops transferring tickets/requests from queues to global array
TRc
- starts processsing a completed request
TRC
- stops processsing a completed request
TRt
- starts testing a single request with MPI_Test
TRT
- stops testing a single request with MPI_Test
TRa
- starts testing several requests with MPI_Testall
TRA
- stops testing several requests with MPI_Testall
TRs
- starts testing several requests with MPI_Testsome
TRS
- stops testing several requests with MPI_Testsome
TTc
- starts creating a ticket linked to a set of requests and a task
TTC
- stops creating a ticket linked to a set of requests and a task
TTw
- starts waiting for a ticket completion
TTW
- stops waiting for a ticket completion
## Model nosv
List of events for the model *nosv* with identifier **`V`** at version `2.3.0`:
VTc(u32 taskid, u32 typeid)
- creates task %{taskid} with type %{typeid}
VTC(u32 taskid, u32 typeid)
- creates parallel task %{taskid} with type %{typeid}
VTx(u32 taskid, u32 bodyid)
- executes the task %{taskid} with bodyid %{bodyid}
VTe(u32 taskid, u32 bodyid)
- ends the task %{taskid} with bodyid %{bodyid}
VTp(u32 taskid, u32 bodyid)
- pauses the task %{taskid} with bodyid %{bodyid}
VTr(u32 taskid, u32 bodyid)
- resumes the task %{taskid} with bodyid %{bodyid}
VYc+(u32 typeid, str label)
- creates task type %{typeid} with label "%{label}"
VSr
- receives a task from another thread
VSs
- sends a task to another thread
VS@
- self assigns itself a task
VSh
- enters the hungry state, waiting for work
VSf
- is no longer hungry
VS[
- enters scheduler server mode
VS]
- leaves scheduler server mode
VU[
- starts submitting a task
VU]
- stops submitting a task
VMa
- starts allocating memory
VMA
- stops allocating memory
VMf
- starts freeing memory
VMF
- stops freeing memory
VAr
- enters nosv_create()
VAR
- leaves nosv_create()
VAd
- enters nosv_destroy()
VAD
- leaves nosv_destroy()
VAs
- enters nosv_submit()
VAS
- leaves nosv_submit()
VAp
- enters nosv_pause()
VAP
- leaves nosv_pause()
VAy
- enters nosv_yield()
VAY
- leaves nosv_yield()
VAw
- enters nosv_waitfor()
VAW
- leaves nosv_waitfor()
VAc
- enters nosv_schedpoint()
VAC
- leaves nosv_schedpoint()
VAa
- enters nosv_attach()
VAA
- leaves nosv_attach()
VAe
- enters nosv_detach()
VAE
- leaves nosv_detach()
VAl
- enters nosv_mutex_lock()
VAL
- leaves nosv_mutex_lock()
VAt
- enters nosv_mutex_trylock()
VAT
- leaves nosv_mutex_trylock()
VAu
- enters nosv_mutex_unlock()
VAU
- leaves nosv_mutex_unlock()
VAb
- enters nosv_barrier_wait()
VAB
- leaves nosv_barrier_wait()
VHa
- enters nosv_attach()
VHA
- leaves nosv_dettach()
VHw
- begins execution as worker
VHW
- ceases execution as worker
VHd
- begins execution as delegate
VHD
- ceases execution as delegate
VPp
- sets progress state to Progressing
VPr
- sets progress state to Resting
VPa
- sets progress state to Absorbing