提交 a388cf41 authored 作者: Arnaud Bergeron's avatar Arnaud Bergeron

Filter out empty strings at the compiler level in Theano.

上级 5c7954e7
...@@ -1065,7 +1065,8 @@ class CLinker(link.Linker): ...@@ -1065,7 +1065,8 @@ class CLinker(link.Linker):
ret += x.c_header_dirs() ret += x.c_header_dirs()
except utils.MethodNotDefined: except utils.MethodNotDefined:
pass pass
return utils.uniq(ret) # filter out empty strings/None
return [r for r in utils.uniq(ret) if r]
def libraries(self): def libraries(self):
""" """
...@@ -1107,7 +1108,8 @@ class CLinker(link.Linker): ...@@ -1107,7 +1108,8 @@ class CLinker(link.Linker):
ret += x.c_lib_dirs() ret += x.c_lib_dirs()
except utils.MethodNotDefined: except utils.MethodNotDefined:
pass pass
return utils.uniq(ret) # filter out empty strings/None
return [r for r in utils.uniq(ret) if r]
def __compile__(self, input_storage=None, output_storage=None, def __compile__(self, input_storage=None, output_storage=None,
storage_map=None, keep_lock=False): storage_map=None, keep_lock=False):
......
...@@ -225,14 +225,6 @@ dnn_available.msg = None ...@@ -225,14 +225,6 @@ dnn_available.msg = None
def CUDNNDataType(name, freefunc=None): def CUDNNDataType(name, freefunc=None):
hdirs = []
if config.dnn.include_path:
hdirs.append(config.dnn.include_path)
if config.cuda.include_path:
hdirs.append(config.cuda.include_path)
ldirs = []
if config.dnn.library_path:
ldirs.append(config.dnn.library_path)
cargs = [] cargs = []
if config.dnn.bin_path: if config.dnn.bin_path:
if sys.platform == 'darwin': if sys.platform == 'darwin':
...@@ -242,9 +234,10 @@ def CUDNNDataType(name, freefunc=None): ...@@ -242,9 +234,10 @@ def CUDNNDataType(name, freefunc=None):
return CDataType(name, freefunc, return CDataType(name, freefunc,
headers=['cudnn.h'], headers=['cudnn.h'],
header_dirs=hdirs, header_dirs=[config.dnn.include_path,
config.cuda.include_path],
libraries=['cudnn'], libraries=['cudnn'],
lib_dirs=ldirs, lib_dirs=[config.dnn.library_path],
compile_args=cargs, compile_args=cargs,
version=version(raises=False)) version=version(raises=False))
...@@ -256,20 +249,13 @@ class DnnVersion(Op): ...@@ -256,20 +249,13 @@ class DnnVersion(Op):
return ['cudnn.h'] return ['cudnn.h']
def c_header_dirs(self): def c_header_dirs(self):
res = [] return [config.dnn.include_path, config.cuda.include_path]
if config.dnn.include_path:
res.append(config.dnn.include_path)
if config.cuda.include_path:
res.append(config.cuda.include_path)
return res
def c_libraries(self): def c_libraries(self):
return ['cudnn'] return ['cudnn']
def c_lib_dirs(self): def c_lib_dirs(self):
if config.dnn.library_path:
return [config.dnn.library_path] return [config.dnn.library_path]
return []
def c_compile_args(self): def c_compile_args(self):
if config.dnn.bin_path: if config.dnn.bin_path:
...@@ -394,20 +380,14 @@ class DnnBase(COp): ...@@ -394,20 +380,14 @@ class DnnBase(COp):
'gpuarray_helper.h'] 'gpuarray_helper.h']
def c_header_dirs(self): def c_header_dirs(self):
dirs = [os.path.dirname(__file__), pygpu.get_include()] return [os.path.dirname(__file__), pygpu.get_include(),
if config.dnn.include_path: config.dnn.include_path, config.cuda.include_path]
dirs.append(config.dnn.include_path)
if config.cuda.include_path:
dirs.append(config.cuda.include_path)
return dirs
def c_libraries(self): def c_libraries(self):
return ['cudnn', 'gpuarray'] return ['cudnn', 'gpuarray']
def c_lib_dirs(self): def c_lib_dirs(self):
if config.dnn.library_path:
return [config.dnn.library_path] return [config.dnn.library_path]
return []
def c_compile_args(self): def c_compile_args(self):
if config.dnn.bin_path: if config.dnn.bin_path:
...@@ -446,20 +426,14 @@ class GpuDnnConvDesc(COp): ...@@ -446,20 +426,14 @@ class GpuDnnConvDesc(COp):
return ['cudnn.h', 'cudnn_helper.h'] return ['cudnn.h', 'cudnn_helper.h']
def c_header_dirs(self): def c_header_dirs(self):
dirs = [os.path.dirname(__file__)] return [os.path.dirname(__file__), config.dnn.include_path,
if config.dnn.include_path: config.cuda.include_path]
dirs.append(config.dnn.include_path)
if config.cuda.include_path:
dirs.append(config.cuda.include_path)
return dirs
def c_libraries(self): def c_libraries(self):
return ['cudnn'] return ['cudnn']
def c_lib_dirs(self): def c_lib_dirs(self):
if config.dnn.library_path:
return [config.dnn.library_path] return [config.dnn.library_path]
return []
def c_compile_args(self): def c_compile_args(self):
if config.dnn.bin_path: if config.dnn.bin_path:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论