提交 f44feaaa authored 作者: lamblin's avatar lamblin

Merge pull request #616 from nouiz/gpu_conv_faster

Gpu conv faster
...@@ -309,8 +309,15 @@ def use(device, ...@@ -309,8 +309,15 @@ def use(device,
device = 0 device = 0
try: try:
if device != 'gpu': if device != 'gpu':
assert isinstance(device, int)
gpu_init(device) gpu_init(device)
use.device_number = device use.device_number = device
else:
# This mean we let the driver select the GPU.
# But default it is always number 0.
# If the driver is in exclusive mode, it will always show
# device 0 event if it use something else.
use.device_number = 0
if test_driver: if test_driver:
import theano.sandbox.cuda.tests.test_driver import theano.sandbox.cuda.tests.test_driver
theano.sandbox.cuda.tests.test_driver.test_nvidia_driver1() theano.sandbox.cuda.tests.test_driver.test_nvidia_driver1()
......
...@@ -718,10 +718,11 @@ class GpuConv(GpuOp): ...@@ -718,10 +718,11 @@ class GpuConv(GpuOp):
node_ = copy.copy(node) node_ = copy.copy(node)
assert node.op is node_.op assert node.op is node_.op
if node_.op.max_threads_dim0 is None: if node_.op.max_threads_dim0 is None:
op = copy.copy(node_.op) cuda = theano.sandbox.cuda
device_id = theano.sandbox.cuda.use.device_number[3:] device_id = cuda.use.device_number
if device_id == '': if device_id is None:
device_id = 0 cuda.use("gpu", False, False, False, False, True)
device_id = cuda.use.device_number
cuda_ndarray = theano.sandbox.cuda.cuda_ndarray.cuda_ndarray cuda_ndarray = theano.sandbox.cuda.cuda_ndarray.cuda_ndarray
prop = cuda_ndarray.device_properties(device_id) prop = cuda_ndarray.device_properties(device_id)
node_.op.max_threads_dim0 = prop['maxThreadsDim0'] node_.op.max_threads_dim0 = prop['maxThreadsDim0']
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论