'classic' plugin for Blas More...
#include <blas_classic.hpp>
Wraps the BLAS Fortran ABI (dgemm_) of whatever library was configured into the CasADi build (typically OpenBLAS, but any Fortran-ABI BLAS will do).
Extra doc: https://github.com/casadi/casadi/wiki/L_2ga
Definition at line 78 of file blas_classic.hpp.


Public Types | |
| typedef void(* | Dgemm) (int transa, int transb, casadi_int m, casadi_int n, casadi_int k, double alpha, const double *A, casadi_int lda, const double *B, casadi_int ldb, double beta, double *C, casadi_int ldc) |
| typedef void(* | CodegenMtimes) (CodeGenerator &g, const std::string &A, casadi_int m, casadi_int k, const std::string &B, casadi_int n, const std::string &C) |
| typedef void(* | Daxpy) (casadi_int n, double alpha, const double *x, double *y) |
| typedef double(* | Ddot) (casadi_int n, const double *x, const double *y) |
| typedef void(* | Dscal) (casadi_int n, double alpha, double *x) |
| typedef double(* | Dnrm2) (casadi_int n, const double *x) |
| typedef double(* | Dasum) (casadi_int n, const double *x) |
| typedef void(* | Dcopy) (const double *x, casadi_int n, double *y) |
| typedef void(* | CodegenL1Aux) (CodeGenerator &g, const std::vector< std::string > &inst) |
| typedef Blas *(* | Creator) () |
| typedef int(* | RegFcn) (Plugin *plugin) |
Public Member Functions | |
| virtual const char * | plugin_name () const=0 |
| virtual void | deps_version_check (const std::string &stage) const |
| void | serialize_type (SerializingStream &s) const |
| Serialize type information. More... | |
Static Public Member Functions | |
| static std::string | getDefault () |
| static casadi_int | shorthand_for (const std::string &name) |
| static const char * | name_for_shorthand (casadi_int shorthand) |
| static void | dgemm (casadi_int shorthand, int transa, int transb, casadi_int m, casadi_int n, casadi_int k, double alpha, const double *A, casadi_int lda, const double *B, casadi_int ldb, double beta, double *C, casadi_int ldc) |
| static void | reference_dgemm (int transa, int transb, casadi_int m, casadi_int n, casadi_int k, double alpha, const double *A, casadi_int lda, const double *B, casadi_int ldb, double beta, double *C, casadi_int ldc) |
| static void | mtimes (casadi_int shorthand, const double *A, casadi_int m, casadi_int k, const double *B, casadi_int n, double *C) |
| static void | codegen_mtimes (CodeGenerator &g, casadi_int shorthand, const std::string &A, casadi_int m, casadi_int k, const std::string &B, casadi_int n, const std::string &C) |
| static void | codegen_copy_aux (CodeGenerator &g, const std::vector< std::string > &inst) |
| static bool | codegen_axpy_aux (CodeGenerator &g, const std::vector< std::string > &inst) |
| static bool | codegen_dot_aux (CodeGenerator &g, const std::vector< std::string > &inst) |
| static bool | codegen_scal_aux (CodeGenerator &g, const std::vector< std::string > &inst) |
| static bool | codegen_norm_2_aux (CodeGenerator &g, const std::vector< std::string > &inst) |
| static bool | codegen_norm_1_aux (CodeGenerator &g, const std::vector< std::string > &inst) |
| static bool | has_plugin (const std::string &pname, bool verbose=false) |
| Check if a plugin is available or can be loaded. More... | |
| static const Options & | plugin_options (const std::string &pname) |
| Get the plugin options. More... | |
| static Deserialize | plugin_deserialize (const std::string &pname) |
| Get the plugin deserialize_map. More... | |
| static Plugin | pluginFromRegFcn (RegFcn regfcn) |
| Instantiate a Plugin struct from a factory function. More... | |
| static Plugin | load_plugin (const std::string &pname, bool register_plugin=true, bool needs_lock=true) |
| Load a plugin dynamically. More... | |
| static handle_t | load_library (const std::string &libname, std::string &resultpath, bool global) |
| Load a library dynamically. More... | |
| static void | registerPlugin (const Plugin &plugin, bool needs_lock=true) |
| Register an integrator in the factory. More... | |
| static void | registerPlugin (RegFcn regfcn, bool needs_lock=true) |
| Register an integrator in the factory. More... | |
| static Plugin & | getPlugin (const std::string &pname) |
| Load and get the creator function. More... | |
| static Blas * | instantiate (const std::string &fname, const std::string &pname, Problem problem) |
| static ProtoFunction * | deserialize (DeserializingStream &s) |
| Deserialize with type disambiguation. More... | |
Static Public Attributes | |
| static const std::string | meta_doc |
| A documentation string. More... | |
| static std::map< std::string, Plugin > | solvers_ |
| static std::vector< const Plugin * > | dispatch_ |
| static casadi_int | default_ = 0 |
| static const std::string | infix_ = "blas" |
|
inherited |
Definition at line 84 of file blas_impl.hpp.
|
inherited |
Definition at line 69 of file blas_impl.hpp.
|
inherited |
Definition at line 88 of file blas_impl.hpp.
|
inherited |
Definition at line 80 of file blas_impl.hpp.
|
inherited |
Definition at line 76 of file blas_impl.hpp.
|
inherited |
Definition at line 81 of file blas_impl.hpp.
|
inherited |
Definition at line 77 of file blas_impl.hpp.
|
inherited |
Definition at line 60 of file blas_impl.hpp.
|
inherited |
Definition at line 79 of file blas_impl.hpp.
|
inherited |
Definition at line 78 of file blas_impl.hpp.
|
inherited |
Definition at line 73 of file plugin_interface.hpp.
|
staticinherited |
Definition at line 296 of file blas.cpp.
References casadi::Blas::default_, and casadi::Blas::dispatch_.
Referenced by casadi::CodeGenerator::add_auxiliary().
|
staticinherited |
Definition at line 283 of file blas.cpp.
References casadi::CodeGenerator::add_include(), casadi::CodeGenerator::auxiliaries, and casadi::CodeGenerator::sanitize_source().
Referenced by casadi::CodeGenerator::add_auxiliary().
|
staticinherited |
Definition at line 305 of file blas.cpp.
References casadi::Blas::default_, and casadi::Blas::dispatch_.
Referenced by casadi::CodeGenerator::add_auxiliary().
|
staticinherited |
Definition at line 229 of file blas.cpp.
References casadi::C, casadi::Blas::dispatch_, and casadi::CodeGenerator::mtimes().
Referenced by casadi::DenseMultiplication::generate(), and casadi::PseudoDenseMultiplication::generate().
|
staticinherited |
Definition at line 332 of file blas.cpp.
References casadi::Blas::default_, and casadi::Blas::dispatch_.
Referenced by casadi::CodeGenerator::add_auxiliary().
|
staticinherited |
Definition at line 323 of file blas.cpp.
References casadi::Blas::default_, and casadi::Blas::dispatch_.
Referenced by casadi::CodeGenerator::add_auxiliary().
|
staticinherited |
Definition at line 314 of file blas.cpp.
References casadi::Blas::default_, and casadi::Blas::dispatch_.
Referenced by casadi::CodeGenerator::add_auxiliary().
|
inlinevirtualinherited |
Definition at line 112 of file plugin_interface.hpp.
|
inlinestaticinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_rr
Definition at line 124 of file plugin_interface.hpp.
|
staticinherited |
Definition at line 180 of file blas.cpp.
References casadi::C, casadi::Blas::dispatch_, and casadi::Blas::reference_dgemm().
|
staticinherited |
Definition at line 279 of file blas.cpp.
References casadi::Blas::default_, and casadi::Blas::name_for_shorthand().
Referenced by casadi::GlobalOptions::getDefaultBlas().
|
staticinherited |
Definition at line 102 of file plugin_interface.hpp.
|
staticinherited |
Definition at line 76 of file plugin_interface.hpp.
|
staticinherited |
Definition at line 106 of file plugin_interface.hpp.
|
staticinherited |
Definition at line 92 of file plugin_interface.hpp.
|
staticinherited |
Definition at line 88 of file plugin_interface.hpp.
|
staticinherited |
Definition at line 201 of file blas.cpp.
References casadi::C, casadi::CASADI_BLAS_NO_TRANS, and casadi::Blas::dispatch_.
Referenced by casadi::DenseMultiplication::eval_kernel(), and casadi::PseudoDenseMultiplication::eval_kernel().
|
staticinherited |
Definition at line 220 of file blas.cpp.
References casadi::Blas::dispatch_.
Referenced by casadi::Blas::getDefault(), and casadi::Multiplication::serialize_body().
|
staticinherited |
Definition at line 82 of file plugin_interface.hpp.
|
pure virtualinherited |
|
staticinherited |
Definition at line 79 of file plugin_interface.hpp.
|
staticinherited |
Definition at line 85 of file plugin_interface.hpp.
|
staticinherited |
Definition at line 62 of file blas.cpp.
References casadi::C, and casadi::CASADI_BLAS_TRANS.
Referenced by casadi::Blas::dgemm().
|
staticinherited |
Definition at line 96 of file plugin_interface.hpp.
|
staticinherited |
Definition at line 99 of file plugin_interface.hpp.
|
inlineinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_rq
Definition at line 117 of file plugin_interface.hpp.
|
staticinherited |
Definition at line 141 of file blas.cpp.
References casadi::casadi_load_blas_classic(), casadi::Blas::dispatch_, casadi::PluginInterface< Blas >::load_plugin(), and casadi::Blas::solvers_.
Referenced by casadi::Multiplication::Multiplication().
|
staticinherited |
Definition at line 116 of file blas_impl.hpp.
Referenced by casadi::Blas::codegen_axpy_aux(), casadi::Blas::codegen_dot_aux(), casadi::Blas::codegen_norm_1_aux(), casadi::Blas::codegen_norm_2_aux(), casadi::Blas::codegen_scal_aux(), and casadi::Blas::getDefault().
|
staticinherited |
Definition at line 113 of file blas_impl.hpp.
Referenced by casadi::Blas::codegen_axpy_aux(), casadi::Blas::codegen_dot_aux(), casadi::Blas::codegen_mtimes(), casadi::Blas::codegen_norm_1_aux(), casadi::Blas::codegen_norm_2_aux(), casadi::Blas::codegen_scal_aux(), casadi::Blas::dgemm(), casadi::Blas::mtimes(), casadi::Blas::name_for_shorthand(), and casadi::Blas::shorthand_for().
|
staticinherited |
Definition at line 139 of file blas_impl.hpp.
|
static |
Definition at line 81 of file blas_classic.hpp.
Referenced by casadi::casadi_register_blas_classic().
|
staticinherited |
Definition at line 110 of file blas_impl.hpp.
Referenced by casadi::Blas::shorthand_for().