提交 09f534d1 authored 作者: nouiz's avatar nouiz

Merge pull request #1217 from lamblin/anaconda

Changes to make Theano work on Windows with Anaconda
......@@ -764,6 +764,7 @@ class OpenMPOp(Op):
self.openmp = openmp
def c_compile_args(self):
self.update_self_openmp()
if self.openmp:
return ['-fopenmp']
return []
......@@ -808,7 +809,10 @@ class OpenMPOp(Op):
return False
return default_openmp
def make_thunk(self, node, storage_map, compute_map, no_recycling):
def update_self_openmp(self):
"""
Make sure self.openmp is not True if there is no support in gxx
"""
if self.openmp:
if OpenMPOp.gxx_support_openmp is None:
OpenMPOp.gxx_support_openmp = OpenMPOp.test_gxx_support()
......@@ -819,9 +823,13 @@ class OpenMPOp(Op):
" know this happen with some version of the EPD mingw"
" compiler. We disable openmp everywhere in Theano."
" To remove this warning set the theano flags `openmp`"
" to False.")
" to False.",
stacklevel=3)
if OpenMPOp.gxx_support_openmp is False:
self.openmp = False
theano.config.openmp = False
def make_thunk(self, node, storage_map, compute_map, no_recycling):
self.update_self_openmp()
return super(OpenMPOp, self).make_thunk(node, storage_map,
compute_map, no_recycling)
......@@ -13,5 +13,9 @@ def call_subprocess_Popen(command, **params):
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
except AttributeError:
startupinfo.dwFlags |= subprocess._subprocess.STARTF_USESHOWWINDOW
# Under Windows 7 64-bits, Anaconda's g++ is not found unless
# specifying "shell=True".
params['shell'] = True
proc = subprocess.Popen(command, startupinfo=startupinfo, **params)
return proc
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论