Example #1
0
                raise ImportError()
        except ImportError:

            _logger.info("Compiling C code for scan")
            dirname = 'scan_perform'
            # We use a .txt extensions as otherwise it don't get
            # included when we create a package to send to pypi
            # This happen even if we tell to include *.c files
            cfile = os.path.join(theano.__path__[0], 'scan_module',
                                 'scan_perform.c.txt')
            code = open(cfile).read()
            loc = os.path.join(config.compiledir, dirname)
            if not os.path.exists(loc):
                os.mkdir(loc)
            cmodule.gcc_module_compile_str(dirname, code, location=loc,
                                           preargs = ['-pthread','-fwrapv',
                                                      '-O2',
                                                      '-fno-strict-aliasing'])
            # Save version into the __init__.py file.
            init_py = os.path.join(loc, '__init__.py')
            open(init_py, 'w').write('_version = %s\n' % version)
            # If we just compiled the module for the first time, then it was
            # imported at the same time: we need to make sure we do not
            # reload the now outdated __init__.pyc below.
            init_pyc = os.path.join(loc, '__init__.pyc')
            if os.path.isfile(init_pyc):
                os.remove(init_pyc)
            import scan_perform
            reload(scan_perform)
            from scan_perform import scan_perform as scan_c
            assert (scan_perform._version ==
                    scan_c.get_version())
Example #2
0
         import lazylinker_ext
         _need_reload = True
     if version != getattr(lazylinker_ext, '_version', None):
         raise ImportError()
 except ImportError:
     _logger.info("Compiling new CVM")
     dirname = 'lazylinker_ext'
     # We use a .txt extensions as otherwise it don't get
     # included when we create a package to send to pypi
     # This happen even if we tell to include *.c files
     cfile = os.path.join(theano.__path__[0], 'gof', 'lazylinker_c.c.txt')
     code = open(cfile).read()
     loc = os.path.join(config.compiledir, dirname)
     if not os.path.exists(loc):
         os.mkdir(loc)
     cmodule.gcc_module_compile_str(dirname, code, location=loc)
     # Save version into the __init__.py file.
     init_py = os.path.join(loc, '__init__.py')
     open(init_py, 'w').write('_version = %s\n' % version)
     # If we just compiled the module for the first time, then it was
     # imported at the same time: we need to make sure we do not
     # reload the now outdated __init__.pyc below.
     init_pyc = os.path.join(loc, '__init__.pyc')
     if os.path.isfile(init_pyc):
         os.remove(init_pyc)
     import lazylinker_ext
     reload(lazylinker_ext)
     from lazylinker_ext import lazylinker_ext as lazy_c
     assert (lazylinker_ext._version ==
             lazy_c.get_version())
     _logger.info("New version %s", lazylinker_ext._version)
Example #3
0
             _need_reload = True
         if version != getattr(lazylinker_ext, '_version', None):
             raise ImportError()
     except ImportError:
         _logger.info("Compiling new CVM")
         dirname = 'lazylinker_ext'
         # We use a .txt extensions as otherwise it don't get
         # included when we create a package to send to pypi
         # This happen even if we tell to include *.c files
         cfile = os.path.join(theano.__path__[0], 'gof',
                              'lazylinker_c.c.txt')
         code = open(cfile).read()
         loc = os.path.join(config.compiledir, dirname)
         if not os.path.exists(loc):
             os.mkdir(loc)
         cmodule.gcc_module_compile_str(dirname, code, location=loc)
         # Save version into the __init__.py file.
         init_py = os.path.join(loc, '__init__.py')
         open(init_py, 'w').write('_version = %s\n' % version)
         # If we just compiled the module for the first time, then it was
         # imported at the same time: we need to make sure we do not
         # reload the now outdated __init__.pyc below.
         init_pyc = os.path.join(loc, '__init__.pyc')
         if os.path.isfile(init_pyc):
             os.remove(init_pyc)
         import lazylinker_ext
         reload(lazylinker_ext)
         from lazylinker_ext import lazylinker_ext as lazy_c
         assert (lazylinker_ext._version == lazy_c.get_version())
         _logger.info("New version %s", lazylinker_ext._version)
 finally: