Code indexing in gitaly is broken and leads to code not being visible to the user. We work on the issue with highest priority.

Skip to content
Snippets Groups Projects
Commit 86ca6635 authored by frey_m's avatar frey_m
Browse files

add file headers

parent 790192aa
No related branches found
No related tags found
1 merge request!317Resolve "File header to Ippl classes"
//
// File DataTypes
// Definition of MPI types following the implementation of Boost.MPI.
//
// Copyright (c) 2017, Matthias Frey, Paul Scherrer Institut, Villigen PSI, Switzerland
// All rights reserved
//
// Implemented as part of the PhD thesis
// "Precise Simulations of Multibunches in High Intensity Cyclotrons"
//
// This file is part of OPAL.
//
// OPAL is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// You should have received a copy of the GNU General Public License
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
//
#ifndef IPPL_MPI_DATATYPES_H #ifndef IPPL_MPI_DATATYPES_H
#define IPPL_MPI_DATATYPES_H #define IPPL_MPI_DATATYPES_H
/*
* Implementation like Boost.MPI
*/
#include <mpi.h> #include <mpi.h>
template<typename> struct is_ippl_mpi_datatype: std::false_type {}; template<typename> struct is_ippl_mpi_datatype: std::false_type {};
......
//
// File Operations
// Definition of MPI operations following the implementation of Boost.MPI.
//
// Copyright (c) 2017, Matthias Frey, Paul Scherrer Institut, Villigen PSI, Switzerland
// All rights reserved
//
// Implemented as part of the PhD thesis
// "Precise Simulations of Multibunches in High Intensity Cyclotrons"
//
// This file is part of OPAL.
//
// OPAL is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// You should have received a copy of the GNU General Public License
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
//
#ifndef IPPL_MPI_OPERATIONS_H #ifndef IPPL_MPI_OPERATIONS_H
#define IPPL_MPI_OPERATIONS_H #define IPPL_MPI_OPERATIONS_H
......
// -*- C++ -*- //
/*************************************************************************** // Class IpplMemoryUsage
* // A simple singleton class which lets the user watch the memory consumption of a program.
* The IPPL Framework // ATTENTION: We use following memory convention
* //
* This program was prepared by PSI. // 8 bit = 1 byte = 1e-3 kB = 1e-6 MB
* All rights in the program are reserved by PSI. // = 1e-3 / 1.024 KiB (KibiByte)
* Neither PSI nor the author(s) // = 1e-3 / 1.024 / 1.024 MiB (MebiByte)
* makes any warranty, express or implied, or assumes any liability or //
* responsibility for the use of this software // instead of the usually taken but wrong relation 1024 kB = 1 MB.
* //
* Visit www.amas.web.psi for more details // General usage
* // 1) create the instance using IpplMemoryUsage::getInstance(unit, reset).
***************************************************************************/ // The reset boolean indicates wether the memory at creation should be
// subtracted from the measurements later on.
// -*- C++ -*- // The class is based on t getrusage() that returns the memory
/*************************************************************************** // consumption in kB (KiloByte). You can specify the return value of
* // IpplMemoryUsage by the first argument.
* The IPPL Framework // Although one can use those input parameters they are only applied
* // at the first call. Additional calls with different input do NOT
* // modify the instance.
* Visit http://people.web.psi.ch/adelmann/ for more details // 2) At any point in the program you can call IpplMemoryUsage::sample()
* // to collect the data.
***************************************************************************/ //
// Copyright (c) 2017 - 2018, Matthias Frey, Paul Scherrer Institut, Villigen PSI, Switzerland
// include files // All rights reserved
//
// Implemented as part of the PhD thesis
// "Precise Simulations of Multibunches in High Intensity Cyclotrons"
//
// This file is part of OPAL.
//
// OPAL is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// You should have received a copy of the GNU General Public License
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
//
#include "Utility/IpplMemoryUsage.h" #include "Utility/IpplMemoryUsage.h"
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
......
// -*- C++ -*- //
/*************************************************************************** // Class IpplMemoryUsage
* // A simple singleton class which lets the user watch the memory consumption of a program.
* The IPPL Framework // ATTENTION: We use following memory convention
* //
* // 8 bit = 1 byte = 1e-3 kB = 1e-6 MB
* Visit http://people.web.psi.ch/adelmann/ for more details // = 1e-3 / 1.024 KiB (KibiByte)
* // = 1e-3 / 1.024 / 1.024 MiB (MebiByte)
***************************************************************************/ //
// instead of the usually taken but wrong relation 1024 kB = 1 MB.
//
// General usage
// 1) create the instance using IpplMemoryUsage::getInstance(unit, reset).
// The reset boolean indicates wether the memory at creation should be
// subtracted from the measurements later on.
// The class is based on t getrusage() that returns the memory
// consumption in kB (KiloByte). You can specify the return value of
// IpplMemoryUsage by the first argument.
// Although one can use those input parameters they are only applied
// at the first call. Additional calls with different input do NOT
// modify the instance.
// 2) At any point in the program you can call IpplMemoryUsage::sample()
// to collect the data.
//
// Copyright (c) 2017 - 2018, Matthias Frey, Paul Scherrer Institut, Villigen PSI, Switzerland
// All rights reserved
//
// Implemented as part of the PhD thesis
// "Precise Simulations of Multibunches in High Intensity Cyclotrons"
//
// This file is part of OPAL.
//
// OPAL is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// You should have received a copy of the GNU General Public License
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
//
#ifndef IPPL_MEMPRYUSAGE_H #ifndef IPPL_MEMPRYUSAGE_H
#define IPPL_MEMPRYUSAGE_H #define IPPL_MEMPRYUSAGE_H
/*************************************************************************
* IpplMemoryUsage - a simple singleton class which lets the user watch the
* memory consumption of a program.
*
* ATTENTION: We use following memory convention
*
* 8 bit = 1 byte = 1e-3 kB = 1e-6 MB
* = 1e-3 / 1.024 KiB (KibiByte)
* = 1e-3 / 1.024 / 1.024 MiB (MebiByte)
*
* instead of the usually taken but wrong relation 1024 kB = 1 MB.
*
* General usage
* 1) create the instance using IpplMemoryUsage::getInstance(unit, reset).
* The reset boolean indicates wether the memory at creation should be
* subtracted from the measurements later on.
* The class is based on t getrusage() that returns the memory
* consumption in kB (KiloByte). You can specify the return value of
* IpplMemoryUsage by the first argument.
* Although one can use those input parameters they are only applied
* at the first call. Additional calls with different input do NOT
* modify the instance.
* 2) At any point in the program you can call IpplMemoryUsage::sample()
* to collect the data.
*************************************************************************/
// include files
#include "Ippl.h" #include "Ippl.h"
#include <memory> #include <memory>
......
//
// Class Timer
// This class is used in IpplTimings.
// https://www.boost.org/doc/libs/1_70_0/libs/timer/doc/cpu_timers.html
//
// Copyright (c) 2019, Matthias Frey, Paul Scherrer Institut, Villigen PSI, Switzerland
// All rights reserved
//
// Implemented as part of the PhD thesis
// "Precise Simulations of Multibunches in High Intensity Cyclotrons"
//
// This file is part of OPAL.
//
// OPAL is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// You should have received a copy of the GNU General Public License
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
//
#include "Timer.h" #include "Timer.h"
Timer::Timer() { Timer::Timer() {
......
//
// Class Timer
// This class is used in IpplTimings.
// https://www.boost.org/doc/libs/1_70_0/libs/timer/doc/cpu_timers.html
//
// Copyright (c) 2019, Matthias Frey, Paul Scherrer Institut, Villigen PSI, Switzerland
// All rights reserved
//
// Implemented as part of the PhD thesis
// "Precise Simulations of Multibunches in High Intensity Cyclotrons"
//
// This file is part of OPAL.
//
// OPAL is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// You should have received a copy of the GNU General Public License
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
//
#ifndef TIMER_H #ifndef TIMER_H
#define TIMER_H #define TIMER_H
#include <boost/timer/timer.hpp> #include <boost/timer/timer.hpp>
// https://www.boost.org/doc/libs/1_70_0/libs/timer/doc/cpu_timers.html
class Timer class Timer
{ {
public: public:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment