spu_run man page on CentOS

Man page or keyword search:  
man Server   8420 pages
apropos Keyword Search (all sections)
Output format
CentOS logo
[printable version]

SPU_RUN(2)		   Linux Programmer's Manual		    SPU_RUN(2)

NAME
       spu_run - execute an spu context

SYNOPSIS
       #include <sys/spu.h>

       int spu_run(int fd, unsigned int *npc, unsigned int *event);

DESCRIPTION
       The  spu_run system call is used on PowerPC machines that implement the
       Cell Broadband Engine Architecture in order to access Synergistic  Pro‐
       cessor  Units  (SPUs).  It  uses the fd that was returned from spu_cre‐
       ate(2) to address a specific SPU context. When the context gets	sched‐
       uled  to a physical SPU, it starts execution at the instruction pointer
       passed in npc.

       Execution of SPU code happens synchronously, meaning that spu_run  does
       not  return  while the SPU is still running. If there is a need to exe‐
       cute SPU code in parallel with other code on either  the	 main  CPU  or
       other  SPUs,  you  need to create a new thread of execution first, e.g.
       using the pthread_create(3) call.

       When spu_run returns, the current value of the SPU instruction  pointer
       is  written back to npc, so you can call spu_run again without updating
       the pointers.

       event can be a NULL pointer or point to an extended  status  code  that
       gets  filled  when spu_run returns. It can be one of the following con‐
       stants:

       SPE_EVENT_DMA_ALIGNMENT
	      A DMA alignment error

       SPE_EVENT_SPE_DATA_SEGMENT
	      A DMA segmentation error

       SPE_EVENT_SPE_DATA_STORAGE
	      A DMA storage error

       If NULL is passed as the event argument, these errors will result in  a
       signal delivered to the calling process.

RETURN VALUE
       spu_run	returns the value of the spu_status register or -1 to indicate
       an error and set errno to one of the error  codes  listed  below.   The
       spu_status  register  value  contains  a	 bit  mask of status codes and
       optionally a 14 bit code returned from the stop-and-signal  instruction
       on the SPU. The bit masks for the status codes are:

       0x02   SPU was stopped by stop-and-signal.

       0x04   SPU was stopped by halt.

       0x08   SPU is waiting for a channel.

       0x10   SPU is in single-step mode.

       0x20   SPU has tried to execute an invalid instruction.

       0x40   SPU has tried to access an invalid channel.

       0x3fff0000
	      The  bits	 masked with this value contain the code returned from
	      stop-and-signal.

       There are always one or more of the lower eight bits set	 or  an	 error
       code is returned from spu_run.

ERRORS
       EAGAIN or EWOULDBLOCK
	      fd is in non-blocking mode and spu_run would block.

       EBADF  fd is not a valid file descriptor.

       EFAULT npc is not a valid pointer or status is neither NULL nor a valid
	      pointer.

       EINTR  A signal occured while spu_run was in progress.  The  npc	 value
	      has been updated to the new program counter value if necessary.

       EINVAL fd is not a file descriptor returned from spu_create(2).

       ENOMEM Insufficient memory was available to handle a page fault result‐
	      ing from an MFC direct memory access.

       ENOSYS the functionality is not provided by the current system, because
	      either the hardware does not provide SPUs or the spufs module is
	      not loaded.

NOTES
       spu_run is meant to be  used  from  libraries  that  implement  a  more
       abstract	 interface  to SPUs, not to be used from regular applications.
       See http://www.bsc.es/projects/deepcomputing/linuxoncell/ for the  rec‐
       ommended libraries.

CONFORMING TO
       This call is Linux specific and only implemented by the ppc64 architec‐
       ture. Programs using this system call are not portable.

BUGS
       The code does not yet fully implement all features lined out here.

AUTHOR
       Arnd Bergmann <arndb@de.ibm.com>

SEE ALSO
       capabilities(7), close(2), spu_create(2), spufs(7)

Linux				  2005-09-28			    SPU_RUN(2)
[top]

List of man pages available for CentOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net