diff --git a/Profiling.html b/Profiling.html new file mode 100644 index 000000000..7fcd91bc0 --- /dev/null +++ b/Profiling.html @@ -0,0 +1,206 @@ + + + + + + + +IPPL (Independent Parallel Particle Layer): Profiling in IPPL + + + + + + + + + + + +
+
+ + + + + + +
+
IPPL (Independent Parallel Particle Layer) +
+
IPPL
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
Profiling in IPPL
+
+
+

In certain applications, you might want to use profiling tools for debugging and testing. Since IPPL uses Kokkos as a backend, you can leverage Kokkos' built-in profiling tools.

+

This guide explains how to use Kokkos' profiling tools, using the MemoryEvents tool as an example.

+

+Description of MemoryEvents

+

MemoryEvents tracks a timeline of allocation and deallocation events in Kokkos Memory Spaces. It records time, pointer, size, memory-space-name, and allocation-name. This is in particular useful for debugging purposes to understand where all the memory is going.

+

Additionally, the tool provides a timeline of memory usage for each individual Kokkos Memory Space.

+

The tool is located at: https://github.com/kokkos/kokkos-tools/tree/develop/profiling/memory-events

+
+

+Steps to Use Kokkos Profiling Tools

+

+1. Clone the Kokkos Tools Repository

+

First, clone the Kokkos tools repository, which contains a variety of profiling tools:

git clone https://github.com/kokkos/kokkos-tools
+

+2. Build and Install the Tools

+

Navigate into the repository and build the tools using CMake:

+
cd kokkos-tools
+
cmake ..
+
make -j
+
sudo make install
+

+3. Set Up the Profiling Tool

+

Before running your application, export the Kokkos Tools environment variable to point to the kp_memory_events.so tool:

export KOKKOS_TOOLS_LIBS={PATH_TO_TOOL_DIRECTORY}/kp_memory_events.so
+

Replace {PATH_TO_TOOL_DIRECTORY} with the actual path where the tool is located.

+

+4. Run your Application

+

Execute your application normally. The MemoryEvents tool will automatically collect data during execution. For example:

+
./application COMMANDS
+

+5. Output Files

+

The MemoryEvents tool will generate the following files:

+
    +
  • HOSTNAME-PROCESSID.mem_events: Lists memory events.
  • +
  • HOSTNAME-PROCESSID-MEMSPACE.memspace_usage: Provides a utilization timeline for each active memory space.
  • +
+

+6. Example on with SLURM

+

Here’s an example of how to run the profiling with a SLURM system using sbatch:

sbatch -n 2 --wrap="export KOKKOS_TOOLS_LIBS=$HOME/kokkos-tools/kp_memory_events.so; \
+
mpirun -n 2 LandauDamping 128 128 128 10000 10 FFT 0.01 LeapFrog --overallocate 2.0 --info 10"
+

In this example:

+
    +
  • sbatch -n 2 specifies 2 nodes.
  • +
  • The Kokkos tool is exported and applied to the LandauDamping application.
  • +
+

This guide provides the basic steps for integrating Kokkos profiling tools into your IPPL-based projects. You can adjust the commands as needed depending on your specific application and environment.

+

+Example

+

Consider the following code:

+
#include <Kokkos_Core.hpp>
+
+
typedef Kokkos::View<int*,Kokkos::CudaSpace> a_type;
+
typedef Kokkos::View<int*,Kokkos::CudaUVMSpace> b_type;
+
typedef Kokkos::View<int*,Kokkos::CudaHostPinnedSpace> c_type;
+
+
int main() {
+
Kokkos::initialize();
+
{
+
int N = 10000000;
+
for(int i =0; i<2; i++) {
+
a_type a("A",N);
+
{
+
b_type b("B",N);
+
c_type c("C",N);
+
for(int j =0; j<N; j++) {
+
b(j)=2*j;
+
c(j)=3*j;
+
}
+
}
+
}
+
}
+
Kokkos::finalize();
+
+
}
+

This will produce the following output:

+

HOSTNAME-PROCESSID.mem_events

+
# Memory Events
+
# Time Ptr Size MemSpace Op Name
+
0.311749 0x2048a0080 128 CudaHostPinned Allocate InternalScratchUnified
+
0.311913 0x2305ca0080 2048 Cuda Allocate InternalScratchFlags
+
0.312108 0x2305da0080 16384 Cuda Allocate InternalScratchSpace
+
0.312667 0x23060a0080 40000000 Cuda Allocate A
+
0.317260 0x23086e0080 40000000 CudaUVM Allocate B
+
0.335289 0x2049a0080 40000000 CudaHostPinned Allocate C
+
0.368485 0x2049a0080 -40000000 CudaHostPinned DeAllocate C
+
0.377285 0x23086e0080 -40000000 CudaUVM DeAllocate B
+
0.379795 0x23060a0080 -40000000 Cuda DeAllocate A
+
0.380185 0x23060a0080 40000000 Cuda Allocate A
+
0.384785 0x23086e0080 40000000 CudaUVM Allocate B
+
0.400073 0x2049a0080 40000000 CudaHostPinned Allocate C
+
0.433218 0x2049a0080 -40000000 CudaHostPinned DeAllocate C
+
0.441988 0x23086e0080 -40000000 CudaUVM DeAllocate B
+
0.444391 0x23060a0080 -40000000 Cuda DeAllocate A
+

HOSTNAME-PROCESSID-Cuda.memspace_usage

+
# Space Cuda
+
# Time(s) Size(MB) HighWater(MB) HighWater-Process(MB)
+
0.311913 0.0 0.0 81.8
+
0.312108 0.0 0.0 81.8
+
0.312667 38.2 38.2 81.8
+
0.379795 0.0 38.2 158.1
+
0.380185 38.2 38.2 158.1
+
0.444391 0.0 38.2 158.1
+

HOSTNAME-PROCESSID-CudaUVM.memspace_usage

+
# Space CudaUVM
+
# Time(s) Size(MB) HighWater(MB) HighWater-Process(MB)
+
0.317260 38.1 38.1 81.8
+
0.377285 0.0 38.1 158.1
+
0.384785 38.1 38.1 158.1
+
0.441988 0.0 38.1 158.1
+

HOSTNAME-PROCESSID-CudaHostPinned.memspace_usage

+
# Space CudaHostPinned
+
# Time(s) Size(MB) HighWater(MB) HighWater-Process(MB)
+
0.311749 0.0 0.0 81.8
+
0.335289 38.1 38.1 120.0
+
0.368485 0.0 38.1 158.1
+
0.400073 38.1 38.1 158.1
+
0.433218 0.0 38.1 158.1
+
+
+ + + + diff --git a/Profiling_8md.html b/Profiling_8md.html new file mode 100644 index 000000000..6051b51bb --- /dev/null +++ b/Profiling_8md.html @@ -0,0 +1,89 @@ + + + + + + + +IPPL (Independent Parallel Particle Layer): Profiling.md File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
IPPL (Independent Parallel Particle Layer) +
+
IPPL
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
Profiling.md File Reference
+
+
+
+ + + + diff --git a/menudata.js b/menudata.js index 84a7ccaae..641ff4aa9 100644 --- a/menudata.js +++ b/menudata.js @@ -26,6 +26,7 @@ var menudata={children:[ {text:"Main Page",url:"index.html"}, {text:"Basics Usage",url:"Basics.html"}, {text:"Installation",url:"Installation.html"}, +{text:"Profiling",url:"Profiling.html"}, {text:"Namespaces",url:"namespaces.html",children:[ {text:"Namespace List",url:"namespaces.html"}, {text:"Namespace Members",url:"namespacemembers.html",children:[ diff --git a/search/all_f.js b/search/all_f.js index 4bbf60779..cb2fe94f0 100644 --- a/search/all_f.js +++ b/search/all_f.js @@ -16,14 +16,14 @@ var searchData= ['parallel_5ffor_13',['parallel_for',['../namespaceippl.html#ab5d78bcf87f750df8cdb9546221d0f71',1,'ippl']]], ['parallel_5freduce_14',['parallel_reduce',['../namespaceippl.html#ab8faeca32cc3523c0e39f7c0e6ec7cbc',1,'ippl']]], ['paralleldispatch_2eh_15',['ParallelDispatch.h',['../ParallelDispatch_8h.html',1,'']]], - ['parameterlist_16',['ParameterList',['../classippl_1_1ParameterList.html',1,'ippl::ParameterList'],['../classippl_1_1ParameterList.html#a81e03f7b1f313287730e3e4047aa0f6a',1,'ippl::ParameterList::ParameterList(const ParameterList &)=default'],['../classippl_1_1ParameterList.html#a49a3e661c61345a30b506a0d516a1419',1,'ippl::ParameterList::ParameterList()=default']]], + ['parameterlist_16',['ParameterList',['../classippl_1_1ParameterList.html',1,'ippl::ParameterList'],['../classippl_1_1ParameterList.html#a49a3e661c61345a30b506a0d516a1419',1,'ippl::ParameterList::ParameterList()=default'],['../classippl_1_1ParameterList.html#a81e03f7b1f313287730e3e4047aa0f6a',1,'ippl::ParameterList::ParameterList(const ParameterList &)=default']]], ['parameterlist_2eh_17',['ParameterList.h',['../ParameterList_8h.html',1,'']]], ['params_5fm_18',['params_m',['../classippl_1_1Poisson.html#a73eae524c9fa61e6d71d4e1edc045500',1,'ippl::Poisson::params_m()'],['../classippl_1_1ParameterList.html#a93fd3a92b33cb5ee955aab5e185fee1f',1,'ippl::ParameterList::params_m()']]], ['particle_5findex_5ftype_19',['particle_index_type',['../classippl_1_1ParticleBase.html#a30b2b2a619ac9e3849b8336c4135736b',1,'ippl::ParticleBase']]], - ['particle_5fposition_5ftype_20',['particle_position_type',['../classippl_1_1ParticleBase.html#add91927843bd1a89802557cbbef3a3f8',1,'ippl::ParticleBase::particle_position_type()'],['../classippl_1_1detail_1_1ParticleLayout.html#a77b57b28c83c87f4cfc172054658ea4d',1,'ippl::detail::ParticleLayout::particle_position_type()']]], + ['particle_5fposition_5ftype_20',['particle_position_type',['../classippl_1_1detail_1_1ParticleLayout.html#a77b57b28c83c87f4cfc172054658ea4d',1,'ippl::detail::ParticleLayout::particle_position_type()'],['../classippl_1_1ParticleBase.html#add91927843bd1a89802557cbbef3a3f8',1,'ippl::ParticleBase::particle_position_type()']]], ['particle_5frecv_21',['PARTICLE_RECV',['../namespaceippl_1_1mpi_1_1tag.html#a15d567b75f6be9891166d172c200185aa88a897363592fe22306b7a88742e62ef',1,'ippl::mpi::tag']]], ['particle_5fsend_22',['PARTICLE_SEND',['../namespaceippl_1_1mpi_1_1tag.html#a15d567b75f6be9891166d172c200185aa20d2116a88b5db668812b96fa090aff7',1,'ippl::mpi::tag']]], - ['particleattrib_23',['ParticleAttrib',['../classippl_1_1ParticleAttrib.html',1,'ippl::ParticleAttrib< T, Properties >'],['../datatypes_8h.html#a36c21abb98d3a155d1340ea832decd08',1,'ParticleAttrib(): datatypes.h'],['../ChargedParticles_8hpp.html#a36c21abb98d3a155d1340ea832decd08',1,'ParticleAttrib(): ChargedParticles.hpp']]], + ['particleattrib_23',['ParticleAttrib',['../classippl_1_1ParticleAttrib.html',1,'ippl::ParticleAttrib< T, Properties >'],['../ChargedParticles_8hpp.html#a36c21abb98d3a155d1340ea832decd08',1,'ParticleAttrib(): ChargedParticles.hpp'],['../datatypes_8h.html#a36c21abb98d3a155d1340ea832decd08',1,'ParticleAttrib(): datatypes.h']]], ['particleattrib_2eh_24',['ParticleAttrib.h',['../ParticleAttrib_8h.html',1,'']]], ['particleattrib_2ehpp_25',['ParticleAttrib.hpp',['../ParticleAttrib_8hpp.html',1,'']]], ['particleattrib_3c_20double_20_3e_26',['ParticleAttrib< double >',['../classippl_1_1ParticleAttrib.html',1,'ippl']]], @@ -31,7 +31,7 @@ var searchData= ['particleattrib_3c_20ippl_3a_3avector_3c_20double_2c_202_20_3e_20_3e_28',['ParticleAttrib< ippl::Vector< double, 2 > >',['../classippl_1_1ParticleAttrib.html',1,'ippl']]], ['particleattribbase_29',['ParticleAttribBase',['../classippl_1_1detail_1_1ParticleAttribBase.html',1,'ippl::detail']]], ['particleattribbase_2eh_30',['ParticleAttribBase.h',['../ParticleAttribBase_8h.html',1,'']]], - ['particlebase_31',['ParticleBase',['../classippl_1_1ParticleBase.html',1,'ippl::ParticleBase< PLayout, IDProperties >'],['../classippl_1_1ParticleBase.html#ae68c5dbfc385a73e6c479eaa6be0cf54',1,'ippl::ParticleBase::ParticleBase()'],['../classippl_1_1ParticleBase.html#a49eef12d4d22c3d11e6aec285538cdc6',1,'ippl::ParticleBase::ParticleBase(Layout_t &layout)']]], + ['particlebase_31',['ParticleBase',['../classippl_1_1ParticleBase.html',1,'ippl::ParticleBase< PLayout, IDProperties >'],['../classippl_1_1ParticleBase.html#a49eef12d4d22c3d11e6aec285538cdc6',1,'ippl::ParticleBase::ParticleBase(Layout_t &layout)'],['../classippl_1_1ParticleBase.html#ae68c5dbfc385a73e6c479eaa6be0cf54',1,'ippl::ParticleBase::ParticleBase()']]], ['particlebase_2eh_32',['ParticleBase.h',['../ParticleBase_8h.html',1,'']]], ['particlebase_2ehpp_33',['ParticleBase.hpp',['../ParticleBase_8hpp.html',1,'']]], ['particlebase_3c_20ippl_3a_3aparticlespatiallayout_3c_20t_2c_203_20_3e_20_3e_34',['ParticleBase< ippl::ParticleSpatialLayout< T, 3 > >',['../classippl_1_1ParticleBase.html',1,'ippl']]], @@ -40,7 +40,7 @@ var searchData= ['particlebc_2eh_37',['ParticleBC.h',['../ParticleBC_8h.html',1,'']]], ['particlecontainer_38',['ParticleContainer',['../classParticleContainer.html#ae150265b6fc23cabf22cc9d95fc765a1',1,'ParticleContainer::ParticleContainer()'],['../classParticleContainer.html',1,'ParticleContainer< T, Dim >']]], ['particlecontainer_2ehpp_39',['ParticleContainer.hpp',['../ParticleContainer_8hpp.html',1,'']]], - ['particlecontainer_5ft_40',['ParticleContainer_t',['../classLandauDampingManager.html#a1e809050ccbbc0a7557dfdca5c86242f',1,'LandauDampingManager::ParticleContainer_t()'],['../classAlpineManager.html#a140a49c90b58488114c0745288923fc3',1,'AlpineManager::ParticleContainer_t()'],['../classBumponTailInstabilityManager.html#aee843bc1a5869d53e79c326ee367d32d',1,'BumponTailInstabilityManager::ParticleContainer_t()'],['../classPenningTrapManager.html#a3ffd993a323ddf9c68e53be8b98c1565',1,'PenningTrapManager::ParticleContainer_t()']]], + ['particlecontainer_5ft_40',['ParticleContainer_t',['../classAlpineManager.html#a140a49c90b58488114c0745288923fc3',1,'AlpineManager::ParticleContainer_t()'],['../classBumponTailInstabilityManager.html#aee843bc1a5869d53e79c326ee367d32d',1,'BumponTailInstabilityManager::ParticleContainer_t()'],['../classLandauDampingManager.html#a1e809050ccbbc0a7557dfdca5c86242f',1,'LandauDampingManager::ParticleContainer_t()'],['../classPenningTrapManager.html#a3ffd993a323ddf9c68e53be8b98c1565',1,'PenningTrapManager::ParticleContainer_t()']]], ['particlelayout_41',['ParticleLayout',['../classippl_1_1detail_1_1ParticleLayout.html',1,'ippl::detail::ParticleLayout< T, Dim, PositionProperties >'],['../classippl_1_1detail_1_1ParticleLayout.html#ab641822a87ddad62e67d0bb4aebfef74',1,'ippl::detail::ParticleLayout::ParticleLayout()']]], ['particlelayout_2eh_42',['ParticleLayout.h',['../ParticleLayout_8h.html',1,'']]], ['particlelayout_2ehpp_43',['ParticleLayout.hpp',['../ParticleLayout_8hpp.html',1,'']]], @@ -68,7 +68,7 @@ var searchData= ['pdf_65',['PDF',['../structCustomDistributionFunctions_1_1PDF.html',1,'CustomDistributionFunctions::PDF'],['../structippl_1_1random_1_1NormalDistributionFunctions_1_1PDF.html',1,'ippl::random::NormalDistributionFunctions< T >::PDF'],['../LandauDampingParameterList_8cpp.html#a549f79ffac7c519e2b26a00cb0f68794',1,'PDF(const Vector_t< double, Dim > &xvec, const double &alpha, const Vector_t< double, Dim > &kw, const unsigned Dim): LandauDampingParameterList.cpp'],['../LandauDampingMixedPrecision_8cpp.html#a549f79ffac7c519e2b26a00cb0f68794',1,'PDF(const Vector_t< double, Dim > &xvec, const double &alpha, const Vector_t< double, Dim > &kw, const unsigned Dim): LandauDampingMixedPrecision.cpp'],['../LandauDampingMixedExec_8cpp.html#a549f79ffac7c519e2b26a00cb0f68794',1,'PDF(const Vector_t< double, Dim > &xvec, const double &alpha, const Vector_t< double, Dim > &kw, const unsigned Dim): LandauDampingMixedExec.cpp']]], ['pdf_5fm_66',['pdf_m',['../classippl_1_1random_1_1Distribution.html#af8b5d39981a5352c7ddd61946335a9f4',1,'ippl::random::Distribution']]], ['penningtrap_2ecpp_67',['PenningTrap.cpp',['../PenningTrap_8cpp.html',1,'']]], - ['penningtrapmanager_68',['PenningTrapManager',['../classPenningTrapManager.html#a1c3cb93cd6eae03f1b2c7f9dda51d256',1,'PenningTrapManager::PenningTrapManager()'],['../classPenningTrapManager.html',1,'PenningTrapManager< T, Dim >']]], + ['penningtrapmanager_68',['PenningTrapManager',['../classPenningTrapManager.html',1,'PenningTrapManager< T, Dim >'],['../classPenningTrapManager.html#a1c3cb93cd6eae03f1b2c7f9dda51d256',1,'PenningTrapManager::PenningTrapManager()']]], ['penningtrapmanager_2eh_69',['PenningTrapManager.h',['../PenningTrapManager_8h.html',1,'']]], ['periodic_70',['PERIODIC',['../namespaceippl.html#a5a55502ef522088786000165502b35f5ae7a291c105638e154907608be31ac862',1,'ippl']]], ['periodic_5fbc_5frecv_71',['PERIODIC_BC_RECV',['../namespaceippl_1_1mpi_1_1tag.html#a15d567b75f6be9891166d172c200185aad3d43f1b2ed613e573a39662e017dfb2',1,'ippl::mpi::tag']]], @@ -79,7 +79,7 @@ var searchData= ['perpendicularreduction_76',['perpendicularReduction',['../classippl_1_1OrthogonalRecursiveBisection.html#a55ed2713ea83c9351d994ebbd90d224a',1,'ippl::OrthogonalRecursiveBisection']]], ['phasedump_77',['PhaseDump',['../structBumponTailInstabilityManager_1_1PhaseDump.html',1,'BumponTailInstabilityManager']]], ['phi_5fm_78',['phi_m',['../classChargedParticles.html#a3b5db5a63a8fc61daf1b5fbef69ee5bb',1,'ChargedParticles']]], - ['pi_79',['pi',['../datatypes_8h.html#a43016d873124d39034edb8cd164794db',1,'pi(): datatypes.h'],['../ChargedParticles_8hpp.html#a43016d873124d39034edb8cd164794db',1,'pi(): ChargedParticles.hpp'],['../structNewton1D.html#a7f450be3f2f7a16b87337a7e9b7fb64a',1,'Newton1D::pi()'],['../structNewton1D.html#a864f14c686710274cb204576b6776dce',1,'Newton1D::pi()']]], + ['pi_79',['pi',['../datatypes_8h.html#a43016d873124d39034edb8cd164794db',1,'pi(): datatypes.h'],['../structNewton1D.html#a7f450be3f2f7a16b87337a7e9b7fb64a',1,'Newton1D::pi()'],['../structNewton1D.html#a864f14c686710274cb204576b6776dce',1,'Newton1D::pi()'],['../ChargedParticles_8hpp.html#a43016d873124d39034edb8cd164794db',1,'pi(): ChargedParticles.hpp']]], ['picmanager_80',['PicManager',['../classippl_1_1PicManager.html',1,'ippl::PicManager< T, Dim, pc, fc, orb >'],['../classippl_1_1PicManager.html#a5873cc6aaacb3283c276a48aace69a1f',1,'ippl::PicManager::PicManager()']]], ['picmanager_2eh_81',['PicManager.h',['../PicManager_8h.html',1,'']]], ['picmanager_3c_20t_2c_20dim_2c_20particlecontainer_3c_20t_2c_20dim_20_3e_2c_20fieldcontainer_3c_20t_2c_20dim_20_3e_2c_20loadbalancer_3c_20t_2c_20dim_20_3e_20_3e_82',['PicManager< T, Dim, ParticleContainer< T, Dim >, FieldContainer< T, Dim >, LoadBalancer< T, Dim > >',['../classippl_1_1PicManager.html',1,'ippl']]], @@ -87,41 +87,42 @@ var searchData= ['playout_5ft_84',['PLayout_t',['../ChargedParticles_8hpp.html#a1b4eeec6173ab4151f0684bb1707e6a2',1,'PLayout_t(): ChargedParticles.hpp'],['../datatypes_8h.html#a1b4eeec6173ab4151f0684bb1707e6a2',1,'PLayout_t(): datatypes.h'],['../FieldSolverBase_8h.html#a1b4eeec6173ab4151f0684bb1707e6a2',1,'PLayout_t(): FieldSolverBase.h']]], ['pointer_5ftype_85',['pointer_type',['../classippl_1_1detail_1_1Archive.html#acd98363e497ce517630ae5341fd209bb',1,'ippl::detail::Archive']]], ['pointtopoint_2ehpp_86',['PointToPoint.hpp',['../PointToPoint_8hpp.html',1,'']]], - ['poisson_87',['Poisson',['../classippl_1_1Poisson.html',1,'ippl']]], + ['poisson_87',['Poisson',['../classippl_1_1Poisson.html',1,'ippl::Poisson< FieldLHS, FieldRHS >'],['../classippl_1_1Poisson.html#a07c4840069a73f2d00cc8be58e3a2839',1,'ippl::Poisson::Poisson()'],['../classippl_1_1Poisson.html#a2cd2417480ea384dc27ede6653f2cc1b',1,'ippl::Poisson::Poisson(lhs_type &lhs, rhs_type &rhs)']]], ['poisson_88',['poisson',['../namespaceippl.html#a2c95409fedc05b2874e2c9da4f309645',1,'ippl']]], - ['poisson_89',['Poisson',['../classippl_1_1Poisson.html#a07c4840069a73f2d00cc8be58e3a2839',1,'ippl::Poisson::Poisson()'],['../classippl_1_1Poisson.html#a2cd2417480ea384dc27ede6653f2cc1b',1,'ippl::Poisson::Poisson(lhs_type &lhs, rhs_type &rhs)']]], - ['poisson_2eh_90',['Poisson.h',['../Poisson_8h.html',1,'']]], - ['poisson_3c_20fieldlhs_2c_20fieldlhs_20_3e_91',['Poisson< FieldLHS, FieldLHS >',['../classippl_1_1Poisson.html',1,'ippl']]], - ['poissoncg_92',['PoissonCG',['../classippl_1_1PoissonCG.html',1,'ippl::PoissonCG< FieldLHS, FieldRHS >'],['../classippl_1_1PoissonCG.html#a7efafe29f2fa4c4bd1a5119237b2ad92',1,'ippl::PoissonCG::PoissonCG()'],['../classippl_1_1PoissonCG.html#aa841986e0534a099d2190983414d93f5',1,'ippl::PoissonCG::PoissonCG(lhs_type &lhs, rhs_type &rhs)']]], - ['poissoncg_2eh_93',['PoissonCG.h',['../PoissonCG_8h.html',1,'']]], - ['policy_5ftype_94',['policy_type',['../classippl_1_1BareField.html#a6149a588c208a59f95ab3d0f62d6fd31',1,'ippl::BareField::policy_type()'],['../structippl_1_1RangePolicy.html#a7c216d6f86e98bb5bcb88f5305fd4acb',1,'ippl::RangePolicy::policy_type()'],['../structippl_1_1RangePolicy_3_011_00_01PolicyArgs_8_8_8_01_4.html#aba4d1688820c60e60363ff9de1a677c2',1,'ippl::RangePolicy< 1, PolicyArgs... >::policy_type()']]], - ['polynomial_5fchebyshev_5fpreconditioner_95',['polynomial_chebyshev_preconditioner',['../structippl_1_1polynomial__chebyshev__preconditioner.html',1,'ippl::polynomial_chebyshev_preconditioner< Field, OperatorF >'],['../structippl_1_1polynomial__chebyshev__preconditioner.html#a9242e2d943270dfd18cde9755b0192d8',1,'ippl::polynomial_chebyshev_preconditioner::polynomial_chebyshev_preconditioner(OperatorF &&op, double alpha, double beta, unsigned int degree=63, double zeta=1e-3)'],['../structippl_1_1polynomial__chebyshev__preconditioner.html#a182c53553b2f69f7a3e7011847ca0e86',1,'ippl::polynomial_chebyshev_preconditioner::polynomial_chebyshev_preconditioner(const polynomial_chebyshev_preconditioner &other)']]], - ['polynomial_5fnewton_5fpreconditioner_96',['polynomial_newton_preconditioner',['../structippl_1_1polynomial__newton__preconditioner.html',1,'ippl::polynomial_newton_preconditioner< Field, OperatorF >'],['../structippl_1_1polynomial__newton__preconditioner.html#a63bbaa257a52079fd8ac63b960c6cec5',1,'ippl::polynomial_newton_preconditioner::polynomial_newton_preconditioner(OperatorF &&op, double alpha, double beta, unsigned int max_level=6, double zeta=1e-3, double *eta=nullptr)'],['../structippl_1_1polynomial__newton__preconditioner.html#a3baee2df47803a7da0902708b5f40178',1,'ippl::polynomial_newton_preconditioner::polynomial_newton_preconditioner(const polynomial_newton_preconditioner &other)']]], - ['pool_5fm_97',['pool_m',['../structippl_1_1random_1_1InverseTransformSampling_1_1fill__random.html#ab279e507ff4961cbf4ddb82c7305a004',1,'ippl::random::InverseTransformSampling::fill_random']]], - ['pop_98',['pop',['../classIpplTimings.html#acba3089a5be6d565119c0a38c5714d3c',1,'IpplTimings']]], - ['position_5fexecution_5fspace_99',['position_execution_space',['../classippl_1_1detail_1_1ParticleLayout.html#afc083e872c7a8b5d51975307e982f951',1,'ippl::detail::ParticleLayout']]], - ['position_5fmemory_5fspace_100',['position_memory_space',['../classippl_1_1detail_1_1ParticleLayout.html#a4a5694686ce8572352d14e7e50ab6c69',1,'ippl::detail::ParticleLayout']]], - ['positioninregion_101',['positionInRegion',['../classippl_1_1ParticleSpatialLayout.html#a5d116e56658efe00f49a50c514229d6d',1,'ippl::ParticleSpatialLayout::positionInRegion(const std::index_sequence< Idx... > &, const vector_type &pos, const region_type &region)'],['../classippl_1_1ParticleSpatialLayout.html#a08240deb40b3f5500d7aee30406579f7',1,'ippl::ParticleSpatialLayout::positionInRegion(const std::index_sequence< Idx... > &, const vector_type &pos, const region_type &region)']]], - ['post_5fstep_102',['post_step',['../classAlpineManager.html#a5d20695e9a523868589de74518bade44',1,'AlpineManager::post_step()'],['../classippl_1_1BaseManager.html#aa68d8c667e7656b12175d58c4885d7c4',1,'ippl::BaseManager::post_step()']]], - ['powermethod_103',['powermethod',['../namespaceippl.html#a0c1bf8d56cb496f1cda9ee4723023355',1,'ippl']]], - ['pre_5frun_104',['pre_run',['../classippl_1_1BaseManager.html#add1f62593938d289b8c38e5708b266b4',1,'ippl::BaseManager::pre_run()'],['../classPenningTrapManager.html#a7259e8e7c24631240841564254e804c2',1,'PenningTrapManager::pre_run()'],['../classLandauDampingManager.html#ae72ba4554613144a4f30cbb60f38b611',1,'LandauDampingManager::pre_run()'],['../classBumponTailInstabilityManager.html#a52914017aabc2a1028bc44b133f3700a',1,'BumponTailInstabilityManager::pre_run()']]], - ['pre_5fstep_105',['pre_step',['../classAlpineManager.html#a929d289fbee1e130d08392e82f1fac4a',1,'AlpineManager::pre_step()'],['../classippl_1_1BaseManager.html#a96166e16509394c66669e0109cf22c79',1,'ippl::BaseManager::pre_step()']]], - ['preceding_5ftag_106',['preceding_tag',['../classTagMaker.html#ad23b4924d91bad57ff171144b04bf2e2',1,'TagMaker']]], - ['precision_107',['precision',['../classInform.html#abe6a0db23646dc4fe97b51538fa315f2',1,'Inform::precision(int p)'],['../classInform.html#ab3bc980da96d8264e159c522f4eab559',1,'Inform::precision() const']]], - ['preconditioner_108',['preconditioner',['../structippl_1_1preconditioner.html',1,'ippl::preconditioner< Field >'],['../structippl_1_1preconditioner.html#a02330fc4658c1dc0bf098bbada6cb6ef',1,'ippl::preconditioner::preconditioner()'],['../structippl_1_1preconditioner.html#a338787848fce1c2d10f5342e0676b5ce',1,'ippl::preconditioner::preconditioner(std::string name)']]], - ['preconditioner_2eh_109',['Preconditioner.h',['../Preconditioner_8h.html',1,'']]], - ['preconditioner_5fm_110',['preconditioner_m',['../classippl_1_1PCG.html#a4c4f64a255e77c9d5ea8dded61fce53e',1,'ippl::PCG']]], - ['pregion_111',['PRegion',['../classippl_1_1PRegion.html',1,'ippl::PRegion< T >'],['../classippl_1_1PRegion.html#a8ac8a52bcd46b09cb38fc4165a942ad1',1,'ippl::PRegion::PRegion()'],['../classippl_1_1PRegion.html#a3e1417a5e0e2c61945b6dd361a6ec066',1,'ippl::PRegion::PRegion(T b)'],['../classippl_1_1PRegion.html#a4c89f496b80a90c76ede3ff118d949c3',1,'ippl::PRegion::PRegion(T a, T b)'],['../classippl_1_1PRegion.html#ac17e185af7de0111f8194a977a1a6ef2',1,'ippl::PRegion::PRegion(const PRegion< T > &)']]], - ['pregion_2eh_112',['PRegion.h',['../PRegion_8h.html',1,'']]], - ['pregion_2ehpp_113',['PRegion.hpp',['../PRegion_8hpp.html',1,'']]], - ['print_114',['print',['../classippl_1_1ParticleAttrib.html#a3166186f30b00e52ff4274c9d9ba3a2d',1,'ippl::ParticleAttrib::print()'],['../classIpplTimings.html#adcfe7ba6ca726c2935441adea92293da',1,'IpplTimings::print(std::string fn, const std::map< std::string, unsigned int > &problemSize=std::map< std::string, unsigned int >())'],['../classIpplTimings.html#acba34e31a0e087487a086b55fd543e79',1,'IpplTimings::print()'],['../structTiming.html#ab535d160b6fc677acfe0e010b91864f6',1,'Timing::print(const std::string &fn, const std::map< std::string, unsigned int > &problemSize)'],['../structTiming.html#a905f10ae7f0bcb975d667d2e15fd78d8',1,'Timing::print()']]], - ['print_5fcenterings_115',['print_Centerings',['../classEdge.html#a7b72a42d5ac2902f318582fcfc8f19b8',1,'Edge::print_Centerings()'],['../classVert.html#a8650ea9f497a71556cd38306987a10a3',1,'Vert::print_Centerings()'],['../classCell.html#ac8199842f16642072ad5225621b55955',1,'Cell::print_Centerings()'],['../classCartesianCentering.html#ad6812e93f411acd40b79c145a6a1f855',1,'CartesianCentering::print_Centerings()']]], - ['printhelp_116',['printHelp',['../classIpplInfo.html#ad1448beb3a0dcc17904d0dc19d517218',1,'IpplInfo']]], - ['printversion_117',['printVersion',['../classIpplInfo.html#a1e8cf4e5b628c014c9fea84e932515e0',1,'IpplInfo']]], - ['probe_118',['probe',['../classippl_1_1mpi_1_1Communicator.html#ae601c2b19f2ff813b277cb7d2b03dfac',1,'ippl::mpi::Communicator']]], - ['prod_119',['Prod',['../structKokkosCorrection_1_1Prod.html',1,'KokkosCorrection']]], - ['prod_120',['prod',['../namespaceippl.html#a4a18c8ae92048307dad2530aa3c2cb31',1,'ippl::prod()'],['../classippl_1_1ParticleAttrib.html#ae19dbfb97ab2286790388d31e8bfdfd6',1,'ippl::ParticleAttrib::prod()'],['../structKokkos_1_1reduction__identity_3_01ippl_1_1Vector_3_01T_00_01Dim_01_4_01_4.html#a2a36b077f7981dff9a931bcb413349bd',1,'Kokkos::reduction_identity< ippl::Vector< T, Dim > >::prod()'],['../classippl_1_1BareField.html#a5409e8e1c01d3e0d233f5be7a1a86a36',1,'ippl::BareField::prod()']]], - ['prod_121',['Prod',['../structKokkosCorrection_1_1Prod.html#a473fa770315625e026eafd026cdc2c73',1,'KokkosCorrection::Prod']]], - ['ptype_5fm_122',['ptype_m',['../classChargedParticles.html#ad31559e5b77befafd532f076ea6bcf1f',1,'ChargedParticles']]], - ['put_123',['put',['../classippl_1_1mpi_1_1rma_1_1Window.html#aa679fa217d982f5d5e45b435a25100e3',1,'ippl::mpi::rma::Window::put(const T *value, int dest, unsigned int pos, Request *request=nullptr)'],['../classippl_1_1mpi_1_1rma_1_1Window.html#af076ca1488be24115b6aee5eb9a2e007',1,'ippl::mpi::rma::Window::put(const T &value, int dest, unsigned int pos, Request *request=nullptr)'],['../classippl_1_1mpi_1_1rma_1_1Window.html#aef1a80921caa6fdad44135bd727e9755',1,'ippl::mpi::rma::Window::put(Iter first, Iter last, int dest, unsigned int pos, Request *request=nullptr)']]] + ['poisson_2eh_89',['Poisson.h',['../Poisson_8h.html',1,'']]], + ['poisson_3c_20fieldlhs_2c_20fieldlhs_20_3e_90',['Poisson< FieldLHS, FieldLHS >',['../classippl_1_1Poisson.html',1,'ippl']]], + ['poissoncg_91',['PoissonCG',['../classippl_1_1PoissonCG.html',1,'ippl::PoissonCG< FieldLHS, FieldRHS >'],['../classippl_1_1PoissonCG.html#aa841986e0534a099d2190983414d93f5',1,'ippl::PoissonCG::PoissonCG(lhs_type &lhs, rhs_type &rhs)'],['../classippl_1_1PoissonCG.html#a7efafe29f2fa4c4bd1a5119237b2ad92',1,'ippl::PoissonCG::PoissonCG()']]], + ['poissoncg_2eh_92',['PoissonCG.h',['../PoissonCG_8h.html',1,'']]], + ['policy_5ftype_93',['policy_type',['../classippl_1_1BareField.html#a6149a588c208a59f95ab3d0f62d6fd31',1,'ippl::BareField::policy_type()'],['../structippl_1_1RangePolicy_3_011_00_01PolicyArgs_8_8_8_01_4.html#aba4d1688820c60e60363ff9de1a677c2',1,'ippl::RangePolicy< 1, PolicyArgs... >::policy_type()'],['../structippl_1_1RangePolicy.html#a7c216d6f86e98bb5bcb88f5305fd4acb',1,'ippl::RangePolicy::policy_type()']]], + ['polynomial_5fchebyshev_5fpreconditioner_94',['polynomial_chebyshev_preconditioner',['../structippl_1_1polynomial__chebyshev__preconditioner.html',1,'ippl::polynomial_chebyshev_preconditioner< Field, OperatorF >'],['../structippl_1_1polynomial__chebyshev__preconditioner.html#a9242e2d943270dfd18cde9755b0192d8',1,'ippl::polynomial_chebyshev_preconditioner::polynomial_chebyshev_preconditioner(OperatorF &&op, double alpha, double beta, unsigned int degree=63, double zeta=1e-3)'],['../structippl_1_1polynomial__chebyshev__preconditioner.html#a182c53553b2f69f7a3e7011847ca0e86',1,'ippl::polynomial_chebyshev_preconditioner::polynomial_chebyshev_preconditioner(const polynomial_chebyshev_preconditioner &other)']]], + ['polynomial_5fnewton_5fpreconditioner_95',['polynomial_newton_preconditioner',['../structippl_1_1polynomial__newton__preconditioner.html',1,'ippl::polynomial_newton_preconditioner< Field, OperatorF >'],['../structippl_1_1polynomial__newton__preconditioner.html#a63bbaa257a52079fd8ac63b960c6cec5',1,'ippl::polynomial_newton_preconditioner::polynomial_newton_preconditioner(OperatorF &&op, double alpha, double beta, unsigned int max_level=6, double zeta=1e-3, double *eta=nullptr)'],['../structippl_1_1polynomial__newton__preconditioner.html#a3baee2df47803a7da0902708b5f40178',1,'ippl::polynomial_newton_preconditioner::polynomial_newton_preconditioner(const polynomial_newton_preconditioner &other)']]], + ['pool_5fm_96',['pool_m',['../structippl_1_1random_1_1InverseTransformSampling_1_1fill__random.html#ab279e507ff4961cbf4ddb82c7305a004',1,'ippl::random::InverseTransformSampling::fill_random']]], + ['pop_97',['pop',['../classIpplTimings.html#acba3089a5be6d565119c0a38c5714d3c',1,'IpplTimings']]], + ['position_5fexecution_5fspace_98',['position_execution_space',['../classippl_1_1detail_1_1ParticleLayout.html#afc083e872c7a8b5d51975307e982f951',1,'ippl::detail::ParticleLayout']]], + ['position_5fmemory_5fspace_99',['position_memory_space',['../classippl_1_1detail_1_1ParticleLayout.html#a4a5694686ce8572352d14e7e50ab6c69',1,'ippl::detail::ParticleLayout']]], + ['positioninregion_100',['positionInRegion',['../classippl_1_1ParticleSpatialLayout.html#a08240deb40b3f5500d7aee30406579f7',1,'ippl::ParticleSpatialLayout::positionInRegion(const std::index_sequence< Idx... > &, const vector_type &pos, const region_type &region)'],['../classippl_1_1ParticleSpatialLayout.html#a5d116e56658efe00f49a50c514229d6d',1,'ippl::ParticleSpatialLayout::positionInRegion(const std::index_sequence< Idx... > &, const vector_type &pos, const region_type &region)']]], + ['post_5fstep_101',['post_step',['../classippl_1_1BaseManager.html#aa68d8c667e7656b12175d58c4885d7c4',1,'ippl::BaseManager::post_step()'],['../classAlpineManager.html#a5d20695e9a523868589de74518bade44',1,'AlpineManager::post_step()']]], + ['powermethod_102',['powermethod',['../namespaceippl.html#a0c1bf8d56cb496f1cda9ee4723023355',1,'ippl']]], + ['pre_5frun_103',['pre_run',['../classPenningTrapManager.html#a7259e8e7c24631240841564254e804c2',1,'PenningTrapManager::pre_run()'],['../classLandauDampingManager.html#ae72ba4554613144a4f30cbb60f38b611',1,'LandauDampingManager::pre_run()'],['../classBumponTailInstabilityManager.html#a52914017aabc2a1028bc44b133f3700a',1,'BumponTailInstabilityManager::pre_run()'],['../classippl_1_1BaseManager.html#add1f62593938d289b8c38e5708b266b4',1,'ippl::BaseManager::pre_run()']]], + ['pre_5fstep_104',['pre_step',['../classAlpineManager.html#a929d289fbee1e130d08392e82f1fac4a',1,'AlpineManager::pre_step()'],['../classippl_1_1BaseManager.html#a96166e16509394c66669e0109cf22c79',1,'ippl::BaseManager::pre_step()']]], + ['preceding_5ftag_105',['preceding_tag',['../classTagMaker.html#ad23b4924d91bad57ff171144b04bf2e2',1,'TagMaker']]], + ['precision_106',['precision',['../classInform.html#abe6a0db23646dc4fe97b51538fa315f2',1,'Inform::precision(int p)'],['../classInform.html#ab3bc980da96d8264e159c522f4eab559',1,'Inform::precision() const']]], + ['preconditioner_107',['preconditioner',['../structippl_1_1preconditioner.html',1,'ippl::preconditioner< Field >'],['../structippl_1_1preconditioner.html#a338787848fce1c2d10f5342e0676b5ce',1,'ippl::preconditioner::preconditioner(std::string name)'],['../structippl_1_1preconditioner.html#a02330fc4658c1dc0bf098bbada6cb6ef',1,'ippl::preconditioner::preconditioner()']]], + ['preconditioner_2eh_108',['Preconditioner.h',['../Preconditioner_8h.html',1,'']]], + ['preconditioner_5fm_109',['preconditioner_m',['../classippl_1_1PCG.html#a4c4f64a255e77c9d5ea8dded61fce53e',1,'ippl::PCG']]], + ['pregion_110',['PRegion',['../classippl_1_1PRegion.html',1,'ippl::PRegion< T >'],['../classippl_1_1PRegion.html#a3e1417a5e0e2c61945b6dd361a6ec066',1,'ippl::PRegion::PRegion(T b)'],['../classippl_1_1PRegion.html#a8ac8a52bcd46b09cb38fc4165a942ad1',1,'ippl::PRegion::PRegion()'],['../classippl_1_1PRegion.html#a4c89f496b80a90c76ede3ff118d949c3',1,'ippl::PRegion::PRegion(T a, T b)'],['../classippl_1_1PRegion.html#ac17e185af7de0111f8194a977a1a6ef2',1,'ippl::PRegion::PRegion(const PRegion< T > &)']]], + ['pregion_2eh_111',['PRegion.h',['../PRegion_8h.html',1,'']]], + ['pregion_2ehpp_112',['PRegion.hpp',['../PRegion_8hpp.html',1,'']]], + ['print_113',['print',['../classippl_1_1ParticleAttrib.html#a3166186f30b00e52ff4274c9d9ba3a2d',1,'ippl::ParticleAttrib::print()'],['../structTiming.html#a905f10ae7f0bcb975d667d2e15fd78d8',1,'Timing::print()'],['../structTiming.html#ab535d160b6fc677acfe0e010b91864f6',1,'Timing::print(const std::string &fn, const std::map< std::string, unsigned int > &problemSize)'],['../classIpplTimings.html#acba34e31a0e087487a086b55fd543e79',1,'IpplTimings::print()'],['../classIpplTimings.html#adcfe7ba6ca726c2935441adea92293da',1,'IpplTimings::print(std::string fn, const std::map< std::string, unsigned int > &problemSize=std::map< std::string, unsigned int >())']]], + ['print_5fcenterings_114',['print_Centerings',['../classCartesianCentering.html#ad6812e93f411acd40b79c145a6a1f855',1,'CartesianCentering::print_Centerings()'],['../classCell.html#ac8199842f16642072ad5225621b55955',1,'Cell::print_Centerings()'],['../classVert.html#a8650ea9f497a71556cd38306987a10a3',1,'Vert::print_Centerings()'],['../classEdge.html#a7b72a42d5ac2902f318582fcfc8f19b8',1,'Edge::print_Centerings()']]], + ['printhelp_115',['printHelp',['../classIpplInfo.html#ad1448beb3a0dcc17904d0dc19d517218',1,'IpplInfo']]], + ['printversion_116',['printVersion',['../classIpplInfo.html#a1e8cf4e5b628c014c9fea84e932515e0',1,'IpplInfo']]], + ['probe_117',['probe',['../classippl_1_1mpi_1_1Communicator.html#ae601c2b19f2ff813b277cb7d2b03dfac',1,'ippl::mpi::Communicator']]], + ['prod_118',['Prod',['../structKokkosCorrection_1_1Prod.html',1,'KokkosCorrection']]], + ['prod_119',['prod',['../namespaceippl.html#a4a18c8ae92048307dad2530aa3c2cb31',1,'ippl::prod()'],['../classippl_1_1BareField.html#a5409e8e1c01d3e0d233f5be7a1a86a36',1,'ippl::BareField::prod()'],['../classippl_1_1ParticleAttrib.html#ae19dbfb97ab2286790388d31e8bfdfd6',1,'ippl::ParticleAttrib::prod()'],['../structKokkos_1_1reduction__identity_3_01ippl_1_1Vector_3_01T_00_01Dim_01_4_01_4.html#a2a36b077f7981dff9a931bcb413349bd',1,'Kokkos::reduction_identity< ippl::Vector< T, Dim > >::prod()']]], + ['prod_120',['Prod',['../structKokkosCorrection_1_1Prod.html#a473fa770315625e026eafd026cdc2c73',1,'KokkosCorrection::Prod']]], + ['profiling_20in_20ippl_121',['Profiling in IPPL',['../Profiling.html',1,'']]], + ['profiling_2emd_122',['Profiling.md',['../Profiling_8md.html',1,'']]], + ['ptype_5fm_123',['ptype_m',['../classChargedParticles.html#ad31559e5b77befafd532f076ea6bcf1f',1,'ChargedParticles']]], + ['put_124',['put',['../classippl_1_1mpi_1_1rma_1_1Window.html#aa679fa217d982f5d5e45b435a25100e3',1,'ippl::mpi::rma::Window::put(const T *value, int dest, unsigned int pos, Request *request=nullptr)'],['../classippl_1_1mpi_1_1rma_1_1Window.html#af076ca1488be24115b6aee5eb9a2e007',1,'ippl::mpi::rma::Window::put(const T &value, int dest, unsigned int pos, Request *request=nullptr)'],['../classippl_1_1mpi_1_1rma_1_1Window.html#aef1a80921caa6fdad44135bd727e9755',1,'ippl::mpi::rma::Window::put(Iter first, Iter last, int dest, unsigned int pos, Request *request=nullptr)']]] ]; diff --git a/search/files_c.js b/search/files_c.js index b282bee84..4737ae4a8 100644 --- a/search/files_c.js +++ b/search/files_c.js @@ -28,5 +28,6 @@ var searchData= ['poissoncg_2eh_25',['PoissonCG.h',['../PoissonCG_8h.html',1,'']]], ['preconditioner_2eh_26',['Preconditioner.h',['../Preconditioner_8h.html',1,'']]], ['pregion_2eh_27',['PRegion.h',['../PRegion_8h.html',1,'']]], - ['pregion_2ehpp_28',['PRegion.hpp',['../PRegion_8hpp.html',1,'']]] + ['pregion_2ehpp_28',['PRegion.hpp',['../PRegion_8hpp.html',1,'']]], + ['profiling_2emd_29',['Profiling.md',['../Profiling_8md.html',1,'']]] ]; diff --git a/search/pages_6.js b/search/pages_6.js new file mode 100644 index 000000000..db0db5da9 --- /dev/null +++ b/search/pages_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['profiling_20in_20ippl_0',['Profiling in IPPL',['../Profiling.html',1,'']]] +]; diff --git a/search/searchdata.js b/search/searchdata.js index f5f599abc..71274b8ea 100644 --- a/search/searchdata.js +++ b/search/searchdata.js @@ -11,7 +11,7 @@ var indexSectionsWithContent = 8: "abcdefghilmnoprsuvz", 9: "o", 10: "cdeip", - 11: "bcdhil", + 11: "bcdhilp", 12: "i" };