|
Swarm-NG
1.1
|
The integrator does not have to be a template, but defining it as. More...
#include <tutorial_integrator.hpp>
Public Member Functions | |
| TutorialIntegrator (const config &cfg) | |
| Constructor for TutorialIntegrator. | |
| virtual void | launch_integrator () |
| Integrater implementation provided by derived instance. | |
| template<class T > | |
| __device__ void | kernel (T compile_time_param) |
| CUDA kernal for integration process. | |
Public Member Functions inherited from swarm::gpu::bppt::integrator | |
| integrator (const config &cfg) | |
| Constructor. | |
| const int & | override_system_per_block () const |
| User specified value of system_per_block. More... | |
Public Member Functions inherited from swarm::gpu::integrator | |
| integrator (const config &cfg) | |
| Pass on constructor. | |
| virtual void | integrate () |
| Interfaces function to integrate, for use by general user. More... | |
| virtual void | core_integrate () |
| To integrate without any bookkeeping. More... | |
| virtual void | set_log_manager (log::Pmanager &l) |
| Read the GPU log object from log manager and set it. | |
| void | set_log (gpulog::device_log *log) |
| Set the GPU log object used for loggin output. | |
| gpulog::device_log * | get_device_log () |
| Get the GPU log object used for logging output. | |
| void | set_ensemble (defaultEnsemble &ens) |
| Set the ensemble, only provide an ensemble on host. This cals automatically creates a copy of ensemble on GPU and keeps it in sync. Refer to set_ensemble(host_ens,device_ens) if you wish to manage the GPU memory allocation. | |
| void | set_ensemble (defaultEnsemble &host_ens, deviceEnsemble &device_ens) |
| Set two host and device ensembles, two ensembles should match. More... | |
| void | upload_ensemble () |
| Synchronize device ensemble with host ensemble. | |
| void | download_ensemble () |
| Synchronize host ensemble with device ensemble. | |
Public Member Functions inherited from swarm::integrator | |
| integrator (const config &cfg) | |
| Inetgrator class should be configurable. Derived instances should also have a constructor with similar signature and pass on the config parameter. | |
| virtual void | flush_log () |
| Flush the host log. | |
| virtual defaultEnsemble & | get_ensemble () |
| Access the ensemble subject to integration. | |
| virtual void | set_destination_time (const double &destination_time) |
| Set the time marker to end the integration. | |
Additional Inherited Members | |
Static Public Member Functions inherited from swarm::gpu::bppt::integrator | |
| template<class T > | |
| static GENERIC int | thread_per_system (T compile_time_param) |
| Calculate number of worker threads needed for each system. More... | |
| template<class T > | |
| static GENERIC int | shmem_per_system (T compile_time_param) |
| Helper Function: Logical amount of shared memory needed for force calculations per thread This value is calculated from number of bodies, if this is used in a kernel, the actual amount of shared memory allocated might be different. More... | |
Static Public Attributes inherited from swarm::integrator | |
| static const int | _default_max_iterations = 10000000 |
| Default value for maximum number of iterations. c.f. _max_iterations. | |
| static const int | _default_max_attempts = 1000000 |
| Default value for maximum number of attempts. c.f. _max_attempts. | |
Protected Attributes inherited from swarm::gpu::bppt::integrator | |
| int | _override_system_per_block |
| Number of systems allocated in a block. Should be a multiple of SHMEM_CHUNK_SIZE for better coalescing. | |
The integrator does not have to be a template, but defining it as.
Name the integrator, and implement swarm::gpu::bppt::integrator
Definition at line 48 of file tutorial_integrator.hpp.