提交 87c7d2fa authored 作者: James Bergstra's avatar James Bergstra

lazylinker compilation can be forced (for debug)

上级 52e99b5e
...@@ -12,27 +12,34 @@ _logger = logging.getLogger('theano.gof.lazylinker_c') ...@@ -12,27 +12,34 @@ _logger = logging.getLogger('theano.gof.lazylinker_c')
if config.compiledir not in sys.path: if config.compiledir not in sys.path:
sys.path.append(config.compiledir) sys.path.append(config.compiledir)
version = 0.1 # must match constant returned in function get_version() force_compile = False
version = 0.11 # must match constant returned in function get_version()
need_reload = False
try: try:
import lazylinker_ext _need_reload = False
need_reload = True if force_compile:
if version != getattr(lazylinker_ext, '_version', None):
raise ImportError() raise ImportError()
else:
import lazylinker_ext
_need_reload = True
if version != getattr(lazylinker_ext, '_version', None):
raise ImportError()
except ImportError: except ImportError:
get_lock() get_lock()
try: try:
# Maybe someone else already finished compiling it while we were # Maybe someone else already finished compiling it while we were
# waiting for the lock? # waiting for the lock?
try: try:
if need_reload: if force_compile:
raise ImportError()
if _need_reload:
# The module was successfully imported earlier: we need to # The module was successfully imported earlier: we need to
# reload it to check if the version was updated. # reload it to check if the version was updated.
reload(lazylinker_ext) reload(lazylinker_ext)
else: else:
import lazylinker_ext import lazylinker_ext
need_reload = True _need_reload = True
if version != getattr(lazylinker_ext, '_version', None): if version != getattr(lazylinker_ext, '_version', None):
raise ImportError() raise ImportError()
except ImportError: except ImportError:
...@@ -67,4 +74,4 @@ except ImportError: ...@@ -67,4 +74,4 @@ except ImportError:
release_lock() release_lock()
from lazylinker_ext.lazylinker_ext import * from lazylinker_ext.lazylinker_ext import *
assert version == get_version() assert force_compile or (version == get_version())
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论