Concrete class that manages SPE jobs. More...
#include <gc_job_manager_impl.h>

Public Member Functions | |
| void | event_handler_loop () |
| void | job_completer_loop () |
| virtual | ~gc_job_manager_impl () |
| virtual bool | shutdown () |
| virtual int | nspes () const |
| Return number of SPE's currently allocated to job manager. | |
| virtual gc_job_desc * | alloc_job_desc () |
| Return a pointer to a properly aligned job descriptor, or zero if none are available. | |
| virtual void | free_job_desc (gc_job_desc *jd) |
| virtual bool | submit_job (gc_job_desc *jd) |
| Submit a job for asynchronous processing on an SPE. | |
| virtual bool | wait_job (gc_job_desc *jd) |
| Wait for job to complete. | |
| virtual int | wait_jobs (unsigned int njobs, gc_job_desc *jd[], bool done[], gc_wait_mode mode) |
| wait for 1 or more jobs to complete. | |
| virtual int | ea_args_maxsize () |
| virtual gc_proc_id_t | lookup_proc (const std::string &name) |
| virtual std::vector< std::string > | proc_names () |
Friends | |
| gc_job_manager_sptr | gc_make_job_manager (const gc_jm_options *options) |
Concrete class that manages SPE jobs.
This class contains all the implementation details.
| virtual gc_job_manager_impl::~gc_job_manager_impl | ( | ) | [virtual] |
| virtual gc_job_desc* gc_job_manager_impl::alloc_job_desc | ( | ) | [virtual] |
Return a pointer to a properly aligned job descriptor, or zero if none are available.
Implements gc_job_manager.
| virtual int gc_job_manager_impl::ea_args_maxsize | ( | ) | [virtual] |
Return the maximum number of bytes of EA arguments that may be copied to or from the SPE in a single job. The limit applies independently to the "get" and "put" args.
Implements gc_job_manager.
| void gc_job_manager_impl::event_handler_loop | ( | ) |
| virtual void gc_job_manager_impl::free_job_desc | ( | gc_job_desc * | jd | ) | [virtual] |
Implements gc_job_manager.
| void gc_job_manager_impl::job_completer_loop | ( | ) |
| virtual gc_proc_id_t gc_job_manager_impl::lookup_proc | ( | const std::string & | proc_name | ) | [virtual] |
Return gc_proc_id_t associated with spu procedure proc_name if one exists, otherwise throws gc_unknown_proc.
Implements gc_job_manager.
| virtual int gc_job_manager_impl::nspes | ( | ) | const [virtual] |
Return number of SPE's currently allocated to job manager.
Implements gc_job_manager.
| virtual std::vector<std::string> gc_job_manager_impl::proc_names | ( | ) | [virtual] |
Return a vector of all known spu procedure names.
Implements gc_job_manager.
| virtual bool gc_job_manager_impl::shutdown | ( | ) | [virtual] |
Stop accepting new jobs. Wait for existing jobs to complete. Return all managed SPE's to the system.
Implements gc_job_manager.
| virtual bool gc_job_manager_impl::submit_job | ( | gc_job_desc * | jd | ) | [virtual] |
Submit a job for asynchronous processing on an SPE.
| [in] | jd | pointer to job description |
The caller must not read or write the job description or any of the memory associated with any indirect arguments until after calling wait_job.
Implements gc_job_manager.
| virtual bool gc_job_manager_impl::wait_job | ( | gc_job_desc * | jd | ) | [virtual] |
Wait for job to complete.
A thread may only wait for jobs which it submitted.
Implements gc_job_manager.
| virtual int gc_job_manager_impl::wait_jobs | ( | unsigned int | njobs, | |
| gc_job_desc * | jd[], | |||
| bool | done[], | |||
| gc_wait_mode | mode | |||
| ) | [virtual] |
wait for 1 or more jobs to complete.
| [in] | njobs | is the length of arrays jd and done. |
| [in] | jd | are the jobs that are to be waited for. |
| [out] | done | indicates whether the corresponding job is complete. |
| [in] | mode | indicates whether to wait for ALL or ANY of the jobs in jd to complete. |
A thread may only wait for jobs which it submitted.
Implements gc_job_manager.
| gc_job_manager_sptr gc_make_job_manager | ( | const gc_jm_options * | options | ) | [friend] |
1.6.3