The directory or directories to be added to the CLI’s OBJECT_SEARCH_PATHvariable. For example:
spurs add directory directory1 directory2
Notice that directory names are separated by space characters.
spu-image-name
The name of the image that is or will be loaded by TotalView
spu-source-location-expression
An expression that resolves to a specific line in the image. For information on location expressions, see dbreak.
breakpoint-id
The action point ID to delete
eaSpurs
The kernel context at this PPU address
eaBarrier
The barrier object at this PPU address
eaEventFlagSet
The event flag object at this PPU address
eaLFQueue
The lfqueue object at this PPU address
eaQueue
The queue object at this PPU address
eaSemaphore
The semaphore object at this PPU address
eaTaskset
The taskset at this PPU address
taskID
The task at this index
Description
Modeled after the GDB “spurs” command, the spurs command was created so that developers who are familiar the GDB command have a similar set of commands in TotalView. However, not all GDB “spurs” commands are implemented.
TotalView supports the SPURS library. Here’s this library’s description in the SPURS documentation:
libspurs is a user-level thread library for SPUs. In a SPURS environment (SPU Runtime System), SPU threads are managed by SPUs. For this reason, thread switching is more efficient than under PPU management and requires no PPU resources. Using SPURS also makes it easier to synchronize threads and adjust the load balance on multiple SPUs. SPURS is furthermore highly extensible and allows users to define their own thread models as necessary.
spurs [ help ]
To access help on the spurs command:
• Enter spurs to return a one-line description of its commands.
• Enter spurs helpto display more information about each spurs subcommand.
spurs add [ directory directory ... ]
Displays either a one-line description of this command or adds directories to search when TotalView looks for SPURS SPU executables.
• spurs add writes a one-line description of this command.
• spurs add directorydirectory adds a directory or directories to the CLI’s OBJECT_SEARCH_PATH variable. This variable contains the path used when searching for SPU ELF executable files. The directories are placed at the beginning of the list in the order in which they are named. If a directory is already in the list, the previously named directory is removed.
Displays either a one-line description of this command or adds a breakpoint.
• spurs break returns a one-line description of this command.
• spurs breakspu-image-namespu-source-loc-expression creates an image-qualified breakpoint path. This is identical to the following CLI command:
dbreak -pending ##spu-image-name#source-loc-expr
This command creates a pending breakpoint that is located only with the image you name. However, if the image has already been loaded, TotalView sets an ordinary breakpoint rather than a pending breakpoint. The focus must be on an SPU thread.
This command returns the action point ID of the created breakpoint. You can use this ID with other CLI commands that act upon breakpoints; for example, dactions. ddelete, ddisable, denable, and others.
spurs delete breakpoint-id ...
Permanently removes one or more action points. The argument defines which action points to delete. Unlike spurs break, this command does not require that the command focus be set to an SPU thread.
spurs info [ directory | break ]
• spurs info returns a one-line description of this command.
Displays one line of information on using this command.
spurs print kernel
Displays the kernel context for the SPU threads in the current or named focus. The focus must be one or more SPU threads.
cell_spurs_print_kernel is an alias for this command.
spurs print kerneleaSpurs
Displays the kernel context at PPU address eaSpurs. The command focus must be one or more PPU threads.
cell_spurs_print_kernel is an alias for this command.
spurs print barriereaBarrier
Displays the barrier object at PPU address eaBarrier. The command focus must be one or more PPU threads.
cell_spurs_print_barrier_info is an alias for this command.
spurs print event_flageaEventFlagSet
Displays the event flag object at PPU address eaEventFlagSet. The command focus must be one or more PPU threads.
cell_spurs_print_event_flag_info is an alias for this command.
spurs print lfqueueeaLFQueue
Displays the lfqueue object at PPU address eaLFQueue. The command focus must be one or more PPU threads.
cell_spurs_print_lfqueue_info is an alias for this command.
spurs print queueeaQueue
Displays the queue object at PPU address eaQueue. The command focus must be one or more PPU threads.
cell_spurs_print_queue_info is an alias for this command.
spurs print semaphoreeaSemaphore
Displays the semaphore object at PPU address eaSemaphore. The command focus must be one or more PPU threads.
cell_spurs_print_semaphore_info is an alias for this command.
spurs print taskset
Prints the taskset for the focus SPU threads. The command focus must be one or more SPU threads.
cell_spurs_print_taskset is an alias for this command
spurs print taskseteaTaskset
Prints the taskset at PPU address eaTaskset. The command focus must be one or more SPU threads.
cell_spurs_print_taskset is an alias for this command
spurs print taskeaTaskset taskID
Prints the task at index taskID in the taskset at PPU address eaTaskset. The command focus must be one or more PPU threads.
cell_spurs_print_task is an alias for this command.
spurs scan
This command is for compatibility with GDB. Unlike the GDB command, this command is a no-op as TotalView has no need to scan for SPU executables because searches for SPU executables happen dynamically.