LSSTApplications
10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
afw
11.0-2-g04d2804
include
lsst
afw
gpu
detail
CudaSelectGpu.h
Go to the documentation of this file.
1
// -*- LSST-C++ -*-
2
3
/*
4
* LSST Data Management System
5
* Copyright 2008, 2009, 2010 LSST Corporation.
6
*
7
* This product includes software developed by the
8
* LSST Project (http://www.lsst.org/).
9
*
10
* This program is free software: you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation, either version 3 of the License, or
13
* (at your option) any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the LSST License Statement and
21
* the GNU General Public License along with this program. If not,
22
* see <http://www.lsstcorp.org/LegalNotices/>.
23
*/
24
38
namespace
lsst {
39
namespace
afw {
40
namespace
gpu {
41
namespace
detail {
42
43
45
void
SetCudaDevice
(
int
devId);
46
48
void
CudaReserveDevice
();
49
51
void
CudaThreadExit
();
52
53
// gets the preferred cuda device id from a CUDA_DEVICE environment variable
54
// if the CUDA_DEVICE environment variable is not set, returns -2 (preferred device not specified)
55
int
GetPreferredCudaDevice
();
56
57
// returns true when preffered device has been selected
58
// returns false when preffered device is not specified
59
// throws exception when unable to select the preffered device
60
bool
SelectPreferredCudaDevice
();
61
62
// If cuda device is already selected and reserved, does nothing
63
// otherwise, attempts to select the best available GPU
64
// throws exception when automatic selection fails
65
void
AutoSelectCudaDevice
();
66
67
// verifies basic parameters of selected cuda device
68
// throws exceptions when the selected GPU is not 'good enough'
69
// Intention was mainly to guard against integrated GPUs or very old GPUs
70
void
VerifyCudaDevice
();
71
72
// Tries to select a cuda device, but only the first time this function is called.
73
// All subsequent calls will return the previous result.
74
// To select again, set reselect to true.
75
// Attempts to use the preferred device.
76
// If a preferred device is not specified, it attempts to auto-select.
77
// Finally, it verifies the selected cuda device.
78
// returns true if gpu device was sucesssfully selected at this call or at a previous call
79
// returns false if gpu device selection failed at this call or at a previous call
80
// Throws exceptions if device selection fails due to any reason (only on a first call or on reselect)
81
// When noExceptions is set to true, no exceptions will be thrown.
82
bool
TryToSelectCudaDevice
(
bool
noExceptions,
bool
reselect=
false
);
83
84
85
}}}}
//namespace lsst::afw::math::detail::gpu ends
86
lsst::afw::gpu::detail::VerifyCudaDevice
void VerifyCudaDevice()
Definition:
CudaSelectGpu.cc:70
lsst::afw::gpu::detail::TryToSelectCudaDevice
bool TryToSelectCudaDevice(bool noExceptions, bool reselect=false)
Definition:
CudaSelectGpu.cc:74
lsst::afw::gpu::detail::GetPreferredCudaDevice
int GetPreferredCudaDevice()
lsst::afw::gpu::detail::SetCudaDevice
void SetCudaDevice(int devId)
selects a cuda device
Definition:
CudaSelectGpu.cc:50
lsst::afw::gpu::detail::AutoSelectCudaDevice
void AutoSelectCudaDevice()
Definition:
CudaSelectGpu.cc:66
lsst::afw::gpu::detail::SelectPreferredCudaDevice
bool SelectPreferredCudaDevice()
Definition:
CudaSelectGpu.cc:62
lsst::afw::gpu::detail::CudaThreadExit
void CudaThreadExit()
frees resources and releases current cuda device
Definition:
CudaSelectGpu.cc:58
lsst::afw::gpu::detail::CudaReserveDevice
void CudaReserveDevice()
reserves cuda device
Definition:
CudaSelectGpu.cc:54
Generated on Thu Sep 24 2015 02:29:14 for LSSTApplications by
1.8.5