|
LSSTApplications
11.0-13-gbb96280,12.1.rc1,12.1.rc1+1,12.1.rc1+2,12.1.rc1+5,12.1.rc1+8,12.1.rc1-1-g06d7636+1,12.1.rc1-1-g253890b+5,12.1.rc1-1-g3d31b68+7,12.1.rc1-1-g3db6b75+1,12.1.rc1-1-g5c1385a+3,12.1.rc1-1-g83b2247,12.1.rc1-1-g90cb4cf+6,12.1.rc1-1-g91da24b+3,12.1.rc1-2-g3521f8a,12.1.rc1-2-g39433dd+4,12.1.rc1-2-g486411b+2,12.1.rc1-2-g4c2be76,12.1.rc1-2-gc9c0491,12.1.rc1-2-gda2cd4f+6,12.1.rc1-3-g3391c73+2,12.1.rc1-3-g8c1bd6c+1,12.1.rc1-3-gcf4b6cb+2,12.1.rc1-4-g057223e+1,12.1.rc1-4-g19ed13b+2,12.1.rc1-4-g30492a7
LSSTDataManagementBasePackage
|
Namespaces | |
| packages | |
| version | |
Classes | |
| class | LibraryException |
| Unable to load library. More... | |
| class | ModuleImporter |
| Base class that defines an interface for importing Python modules. More... | |
| class | NoThreadsException |
| No threading library is available. More... | |
Functions | |
| std::string | libraryExtension () |
| std::string | getLibraryFilename (std::string const &name) |
| bool | canLoadLibrary (std::string const &libName) |
| void | setNumThreads (unsigned int numThreads) |
| unsigned int | getNumThreads () |
| bool | disableImplicitThreading () |
| std::string | getCfitsioVersion () |
| std::string | getFftwVersion () |
| std::string | getWcslibVersion () |
| std::string | getGslVersion () |
| std::map< std::string, std::string > | getRuntimeVersions () |
| template<typename T > | |
| T * | loadSymbol (std::string const &libName, std::string const &symName) |
| bool | haveThreads () |
| Are threaded packages available? More... | |
Variables | |
| bool const | haveOpenBlas = loadOpenBlas() |
| Is OpenBLAS available? More... | |
| bool const | haveMkl = loadMkl() |
| Is MKL available? More... | |
| std::string const | allowEnvvar = "LSST_ALLOW_IMPLICIT_THREADS" |
| bool lsst::base::canLoadLibrary | ( | std::string const & | libName | ) |
Return whether we can load a library
The proper filename extension will be added to the library name unless one is specified.
| libName | Library name |
Definition at line 37 of file library.cc.
| bool lsst::base::disableImplicitThreading | ( | ) |
Disable threading that has not been set explicitly
Some threaded packages implicitly use multiple threads if the user doesn't explicitly state the number of desired threads. However, this can interfere with operations that are parallelised at a higher level. This function will disable threading unless the user has explicitly specified the number of desired threads through environment variables.
This behavior may be disabled by setting the environment variable specified by allowEnvvar.
This is principally intended for Linux machines (we explicitly load .so dynamic libraries); MacOS has its own way of doing threading (Grand Central Dispatch) that throttles threads to avoid overwhelming the machine.
@ return whether we disabled threading
Definition at line 132 of file threads.cc.
| std::string lsst::base::getCfitsioVersion | ( | ) |
Definition at line 26 of file versions.cc.
| std::string lsst::base::getFftwVersion | ( | ) |
Definition at line 37 of file versions.cc.
| std::string lsst::base::getGslVersion | ( | ) |
Definition at line 48 of file versions.cc.
| std::string lsst::base::getLibraryFilename | ( | std::string const & | name | ) |
Get filename for library
We'll add the typical filename extension for the platform unless the user specifies a ".so" or ".dylib" extension.
Definition at line 27 of file library.cc.
| unsigned int lsst::base::getNumThreads | ( | ) |
Get maximum number of threads we might use
Returns the maximum value of the number of threads being used by the threading libraries that are available.
Definition at line 120 of file threads.cc.
| std::map< std::string, std::string > lsst::base::getRuntimeVersions | ( | ) |
Return version strings for dependencies
It is not clever, and only returns versions of packages declared in an internal list.
Returns a map of product:version.
Definition at line 54 of file versions.cc.
| std::string lsst::base::getWcslibVersion | ( | ) |
Definition at line 42 of file versions.cc.
| bool lsst::base::haveThreads | ( | ) |
| std::string lsst::base::libraryExtension | ( | ) |
Return filename extension for libraries
Typically ".so" for Linux and ".dylib" for Mac.
Definition at line 17 of file library.cc.
| T* lsst::base::loadSymbol | ( | std::string const & | libName, |
| std::string const & | symName | ||
| ) |
Load a symbol from a dynamic library
The proper filename extension will be added to the library name unless one is specified.
No mangling is performed on the symbol name.
| libName | Library name (NOT including ".so" or ".dylib") |
| symName | Symbol name |
Definition at line 51 of file library.h.
| void lsst::base::setNumThreads | ( | unsigned int | numThreads | ) |
Set number of threads to use
| NoThreadsException | if no threading library is available |
Definition at line 107 of file threads.cc.
| std::string const lsst::base::allowEnvvar = "LSST_ALLOW_IMPLICIT_THREADS" |
| bool const lsst::base::haveMkl = loadMkl() |
1.8.5