Classes | Macros | Typedefs | Enumerations | Functions
timings-cppad-jit.cpp File Reference
#include "model-fixture.hpp"
#include "pinocchio/codegen/cppadcg.hpp"
#include "pinocchio/codegen/code-generator-algo.hpp"
#include "pinocchio/container/aligned-vector.hpp"
#include "pinocchio/multibody/model.hpp"
#include "pinocchio/multibody/data.hpp"
#include "pinocchio/algorithm/kinematics.hpp"
#include "pinocchio/algorithm/jacobian.hpp"
#include "pinocchio/algorithm/crba.hpp"
#include "pinocchio/algorithm/rnea.hpp"
#include "pinocchio/algorithm/joint-configuration.hpp"
#include "pinocchio/multibody/sample-models.hpp"
#include <cppad/core/to_csrc.hpp>
#include <iostream>
#include <benchmark/benchmark.h>
Include dependency graph for timings-cppad-jit.cpp:

Go to the source code of this file.

Classes

struct  CPPADJITFixture
 

Macros

#define DLL_EXT   ".so"
 

Typedefs

typedef ADCGModel::ConfigVectorType ADCGConfigVectorType
 
typedef ADCGModel::Data ADCGData
 
typedef CppAD::ADFun< CGScalarADCGFun
 
typedef pinocchio::ModelTpl< ADCGScalarADCGModel
 
typedef CppAD::AD< CGScalarADCGScalar
 
typedef ADCGModel::TangentVectorType ADCGTangentVectorType
 
typedef Eigen::Matrix< ADCGScalar, Eigen::Dynamic, 1, OptionsADCGVectorXs
 
typedef ADModel::ConfigVectorType ADConfigVectorType
 
typedef ADModel::Data ADData
 
typedef Eigen::Matrix< ADScalar, Eigen::Dynamic, Eigen::Dynamic > ADMatrixXs
 
typedef pinocchio::ModelTpl< ADScalarADModel
 
typedef CppAD::AD< ScalarADScalar
 
typedef ADModel::TangentVectorType ADTangentVectorType
 
typedef Eigen::Matrix< ADScalar, Eigen::Dynamic, 1 > ADVectorXs
 
typedef CppAD::cg::CG< ScalarCGScalar
 
typedef Model::ConfigVectorType ConfigVectorType
 
typedef Model::Data Data
 
typedef pinocchio::ModelTpl< ScalarModel
 
typedef Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > RowMatrixXs
 
typedef double Scalar
 
typedef Model::TangentVectorType TangentVectorType
 

Enumerations

enum  { Options = 0 }
 

Functions

 BENCHMARK_DEFINE_F (CPPADJITFixture, COMPUTE_RNEA_DERIVATIVES)(benchmark
 
 BENCHMARK_DEFINE_F (CPPADJITFixture, COMPUTE_RNEA_DERIVATIVES_AD)(benchmark
 
 BENCHMARK_DEFINE_F (CPPADJITFixture, COMPUTE_RNEA_DERIVATIVES_AD_CG)(benchmark
 
 BENCHMARK_DEFINE_F (CPPADJITFixture, COMPUTE_RNEA_DERIVATIVES_AD_JIT)(benchmark
 
 BENCHMARK_DEFINE_F (CPPADJITFixture, CRBA_WORLD)(benchmark
 
 BENCHMARK_DEFINE_F (CPPADJITFixture, CRBA_WORLD_AD)(benchmark
 
 BENCHMARK_DEFINE_F (CPPADJITFixture, CRBA_WORLD_AD_CG)(benchmark
 
 BENCHMARK_DEFINE_F (CPPADJITFixture, CRBA_WORLD_AD_JIT)(benchmark
 
 BENCHMARK_REGISTER_F (CPPADJITFixture, COMPUTE_RNEA_DERIVATIVES) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (CPPADJITFixture, COMPUTE_RNEA_DERIVATIVES_AD) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (CPPADJITFixture, COMPUTE_RNEA_DERIVATIVES_AD_CG) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (CPPADJITFixture, COMPUTE_RNEA_DERIVATIVES_AD_JIT) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (CPPADJITFixture, CRBA_WORLD) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (CPPADJITFixture, CRBA_WORLD_AD) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (CPPADJITFixture, CRBA_WORLD_AD_CG) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (CPPADJITFixture, CRBA_WORLD_AD_JIT) -> Apply(CustomArguments)
 
static PINOCCHIO_DONT_INLINE void computeRNEADerivativesADCall (CppAD::ADFun< Scalar > &ad_fun, const CPPAD_TESTVECTOR(Scalar) &x, CPPAD_TESTVECTOR(Scalar) &dtau_da)
 
static PINOCCHIO_DONT_INLINE void computeRNEADerivativesCall (const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &a)
 
static PINOCCHIO_DONT_INLINE void crbaWorldADCall (CppAD::ADFun< Scalar > &ad_fun, const CPPAD_TESTVECTOR(Scalar) &x, CPPAD_TESTVECTOR(Scalar) &M_vector)
 
static PINOCCHIO_DONT_INLINE void crbaWorldCall (const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q)
 
static void CustomArguments (benchmark::internal::Benchmark *b)
 
 PINOCCHIO_BENCHMARK_MAIN_WITH_SETUP (CPPADJITFixture::GlobalSetUp)
 

Macro Definition Documentation

◆ DLL_EXT

#define DLL_EXT   ".so"

Definition at line 30 of file timings-cppad-jit.cpp.

Typedef Documentation

◆ ADCGConfigVectorType

Definition at line 63 of file timings-cppad-jit.cpp.

◆ ADCGData

Definition at line 55 of file timings-cppad-jit.cpp.

◆ ADCGFun

typedef CppAD::ADFun<CGScalar> ADCGFun

Definition at line 41 of file timings-cppad-jit.cpp.

◆ ADCGModel

Definition at line 54 of file timings-cppad-jit.cpp.

◆ ADCGScalar

typedef CppAD::AD<CGScalar> ADCGScalar

Definition at line 40 of file timings-cppad-jit.cpp.

◆ ADCGTangentVectorType

Definition at line 64 of file timings-cppad-jit.cpp.

◆ ADCGVectorXs

typedef Eigen::Matrix<ADCGScalar, Eigen::Dynamic, 1, Options> ADCGVectorXs

Definition at line 44 of file timings-cppad-jit.cpp.

◆ ADConfigVectorType

Definition at line 60 of file timings-cppad-jit.cpp.

◆ ADData

Definition at line 52 of file timings-cppad-jit.cpp.

◆ ADMatrixXs

typedef Eigen::Matrix<ADScalar, Eigen::Dynamic, Eigen::Dynamic> ADMatrixXs

Definition at line 45 of file timings-cppad-jit.cpp.

◆ ADModel

Definition at line 51 of file timings-cppad-jit.cpp.

◆ ADScalar

typedef CppAD::AD<Scalar> ADScalar

Definition at line 38 of file timings-cppad-jit.cpp.

◆ ADTangentVectorType

Definition at line 61 of file timings-cppad-jit.cpp.

◆ ADVectorXs

typedef Eigen::Matrix<ADScalar, Eigen::Dynamic, 1> ADVectorXs

Definition at line 43 of file timings-cppad-jit.cpp.

◆ CGScalar

typedef CppAD::cg::CG<Scalar> CGScalar

Definition at line 39 of file timings-cppad-jit.cpp.

◆ ConfigVectorType

Definition at line 57 of file timings-cppad-jit.cpp.

◆ Data

typedef Model::Data Data

Definition at line 49 of file timings-cppad-jit.cpp.

◆ Model

Definition at line 48 of file timings-cppad-jit.cpp.

◆ RowMatrixXs

typedef Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> RowMatrixXs

Definition at line 46 of file timings-cppad-jit.cpp.

◆ Scalar

typedef double Scalar

Definition at line 37 of file timings-cppad-jit.cpp.

◆ TangentVectorType

Definition at line 58 of file timings-cppad-jit.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
Options 

Definition at line 33 of file timings-cppad-jit.cpp.

Function Documentation

◆ BENCHMARK_DEFINE_F() [1/8]

BENCHMARK_DEFINE_F ( CPPADJITFixture  ,
COMPUTE_RNEA_DERIVATIVES   
)

Definition at line 351 of file timings-cppad-jit.cpp.

◆ BENCHMARK_DEFINE_F() [2/8]

BENCHMARK_DEFINE_F ( CPPADJITFixture  ,
COMPUTE_RNEA_DERIVATIVES_AD   
)

Definition at line 369 of file timings-cppad-jit.cpp.

◆ BENCHMARK_DEFINE_F() [3/8]

BENCHMARK_DEFINE_F ( CPPADJITFixture  ,
COMPUTE_RNEA_DERIVATIVES_AD_CG   
)

Definition at line 432 of file timings-cppad-jit.cpp.

◆ BENCHMARK_DEFINE_F() [4/8]

BENCHMARK_DEFINE_F ( CPPADJITFixture  ,
COMPUTE_RNEA_DERIVATIVES_AD_JIT   
)

Definition at line 395 of file timings-cppad-jit.cpp.

◆ BENCHMARK_DEFINE_F() [5/8]

BENCHMARK_DEFINE_F ( CPPADJITFixture  ,
CRBA_WORLD   
)

Definition at line 243 of file timings-cppad-jit.cpp.

◆ BENCHMARK_DEFINE_F() [6/8]

BENCHMARK_DEFINE_F ( CPPADJITFixture  ,
CRBA_WORLD_AD   
)

Definition at line 261 of file timings-cppad-jit.cpp.

◆ BENCHMARK_DEFINE_F() [7/8]

BENCHMARK_DEFINE_F ( CPPADJITFixture  ,
CRBA_WORLD_AD_CG   
)

Definition at line 313 of file timings-cppad-jit.cpp.

◆ BENCHMARK_DEFINE_F() [8/8]

BENCHMARK_DEFINE_F ( CPPADJITFixture  ,
CRBA_WORLD_AD_JIT   
)

Definition at line 286 of file timings-cppad-jit.cpp.

◆ BENCHMARK_REGISTER_F() [1/8]

BENCHMARK_REGISTER_F ( CPPADJITFixture  ,
COMPUTE_RNEA_DERIVATIVES   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [2/8]

BENCHMARK_REGISTER_F ( CPPADJITFixture  ,
COMPUTE_RNEA_DERIVATIVES_AD   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [3/8]

BENCHMARK_REGISTER_F ( CPPADJITFixture  ,
COMPUTE_RNEA_DERIVATIVES_AD_CG   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [4/8]

BENCHMARK_REGISTER_F ( CPPADJITFixture  ,
COMPUTE_RNEA_DERIVATIVES_AD_JIT   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [5/8]

BENCHMARK_REGISTER_F ( CPPADJITFixture  ,
CRBA_WORLD   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [6/8]

BENCHMARK_REGISTER_F ( CPPADJITFixture  ,
CRBA_WORLD_AD   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [7/8]

BENCHMARK_REGISTER_F ( CPPADJITFixture  ,
CRBA_WORLD_AD_CG   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [8/8]

BENCHMARK_REGISTER_F ( CPPADJITFixture  ,
CRBA_WORLD_AD_JIT   
) -> Apply(CustomArguments)

◆ computeRNEADerivativesADCall()

static PINOCCHIO_DONT_INLINE void computeRNEADerivativesADCall ( CppAD::ADFun< Scalar > &  ad_fun,
const CPPAD_TESTVECTOR(Scalar) &  x,
CPPAD_TESTVECTOR(Scalar) &  dtau_da 
)
static

Definition at line 362 of file timings-cppad-jit.cpp.

◆ computeRNEADerivativesCall()

static PINOCCHIO_DONT_INLINE void computeRNEADerivativesCall ( const pinocchio::Model model,
pinocchio::Data data,
const Eigen::VectorXd &  q,
const Eigen::VectorXd &  v,
const Eigen::VectorXd &  a 
)
static

Definition at line 342 of file timings-cppad-jit.cpp.

◆ crbaWorldADCall()

static PINOCCHIO_DONT_INLINE void crbaWorldADCall ( CppAD::ADFun< Scalar > &  ad_fun,
const CPPAD_TESTVECTOR(Scalar) &  x,
CPPAD_TESTVECTOR(Scalar) &  M_vector 
)
static

Definition at line 254 of file timings-cppad-jit.cpp.

◆ crbaWorldCall()

static PINOCCHIO_DONT_INLINE void crbaWorldCall ( const pinocchio::Model model,
pinocchio::Data data,
const Eigen::VectorXd &  q 
)
static

Definition at line 237 of file timings-cppad-jit.cpp.

◆ CustomArguments()

static void CustomArguments ( benchmark::internal::Benchmark *  b)
static

Definition at line 229 of file timings-cppad-jit.cpp.

◆ PINOCCHIO_BENCHMARK_MAIN_WITH_SETUP()

PINOCCHIO_BENCHMARK_MAIN_WITH_SETUP ( CPPADJITFixture::GlobalSetUp  )


pinocchio
Author(s):
autogenerated on Thu Apr 10 2025 02:42:23