示例#1
0
# setup the cython environment
#
try:
    import Cython as _Cython
except ImportError:
    pass
else:
    from qutip.utilities import _version2int
    _cy_require = "0.29.20"
    if _version2int(_Cython.__version__) < _version2int(_cy_require):
        warnings.warn(
            "Old version of Cython detected: needed {}, got {}.".format(
                _cy_require, _Cython.__version__))
    # Setup pyximport
    import qutip.cy.pyxbuilder as _pyxbuilder
    _pyxbuilder.install()
    del _pyxbuilder, _Cython, _version2int

# -----------------------------------------------------------------------------
# cpu/process configuration
#
from qutip.utilities import available_cpu_count

# Check if environ flag for qutip processes is set
if 'QUTIP_NUM_PROCESSES' in os.environ:
    qutip.settings.num_cpus = int(os.environ['QUTIP_NUM_PROCESSES'])
else:
    qutip.settings.num_cpus = available_cpu_count()
    os.environ['QUTIP_NUM_PROCESSES'] = str(qutip.settings.num_cpus)

del available_cpu_count
# utilities
from qutip.parallel import *
from qutip.utilities import *
from qutip.fileio import *
from qutip.about import *
from qutip.cite import *

# Remove -Wstrict-prototypes from cflags
import distutils.sysconfig
cfg_vars = distutils.sysconfig.get_config_vars()
if "CFLAGS" in cfg_vars:
    cfg_vars["CFLAGS"] = cfg_vars["CFLAGS"].replace("-Wstrict-prototypes", "")

# Setup pyximport
import qutip.cy.pyxbuilder as pbldr
pbldr.install(setup_args={'include_dirs': [numpy.get_include()]})
del pbldr

# -----------------------------------------------------------------------------
# Load user configuration if present: override defaults.
#
import qutip.configrc
has_rc, rc_file = qutip.configrc.has_qutip_rc()

# Make qutiprc and benchmark OPENMP if has_rc = False
if qutip.settings.has_openmp and (not has_rc):
    from qutip.cy.openmp.bench_openmp import calculate_openmp_thresh
    #bench OPENMP
    print('Calibrating OPENMP threshold...')
    thrsh = calculate_openmp_thresh()
    qutip.configrc.generate_qutiprc()
示例#3
0
# utilities
from qutip.parallel import *
from qutip.utilities import *
from qutip.fileio import *
from qutip.about import *
from qutip.cite import *

# Remove -Wstrict-prototypes from cflags
import distutils.sysconfig
cfg_vars = distutils.sysconfig.get_config_vars()
if "CFLAGS" in cfg_vars:
    cfg_vars["CFLAGS"] = cfg_vars["CFLAGS"].replace("-Wstrict-prototypes", "")

# Setup pyximport
import qutip.cy.pyxbuilder as pbldr
pbldr.install(setup_args={'include_dirs': [numpy.get_include()]})
del pbldr

# -----------------------------------------------------------------------------
# Load user configuration if present: override defaults.
#
import qutip.configrc
has_rc, rc_file = qutip.configrc.has_qutip_rc()

# Make qutiprc and benchmark OPENMP if has_rc = False
if qutip.settings.has_openmp and (not has_rc):
    from qutip.cy.openmp.bench_openmp import calculate_openmp_thresh
    #bench OPENMP
    print('Calibrating OPENMP threshold...')
    thrsh = calculate_openmp_thresh()
    qutip.configrc.generate_qutiprc()