# 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()