|
|
# encoding: utf-8
|
|
|
|
|
|
"""Default kernel configuration."""
|
|
|
|
|
|
__docformat__ = "restructuredtext en"
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
# Copyright (C) 2008 The IPython Development Team
|
|
|
#
|
|
|
# Distributed under the terms of the BSD License. The full license is in
|
|
|
# the file COPYING, distributed as part of this software.
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
# Imports
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
|
import os, sys
|
|
|
from os.path import join as pjoin
|
|
|
|
|
|
from IPython.external.configobj import ConfigObj
|
|
|
from IPython.config.api import ConfigObjManager
|
|
|
from IPython.utils.genutils import get_ipython_dir, get_security_dir
|
|
|
|
|
|
default_kernel_config = ConfigObj()
|
|
|
|
|
|
# This will raise OSError if ipythondir doesn't exist.
|
|
|
security_dir = get_security_dir()
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
# Engine Configuration
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
|
engine_config = dict(
|
|
|
logfile = '', # Empty means log to stdout
|
|
|
furl_file = pjoin(security_dir, 'ipcontroller-engine.furl')
|
|
|
)
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
# MPI Configuration
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
|
mpi_config = dict(
|
|
|
mpi4py = """from mpi4py import MPI as mpi
|
|
|
mpi.size = mpi.COMM_WORLD.Get_size()
|
|
|
mpi.rank = mpi.COMM_WORLD.Get_rank()
|
|
|
""",
|
|
|
pytrilinos = """from PyTrilinos import Epetra
|
|
|
class SimpleStruct:
|
|
|
pass
|
|
|
mpi = SimpleStruct()
|
|
|
mpi.rank = 0
|
|
|
mpi.size = 0
|
|
|
""",
|
|
|
default = ''
|
|
|
)
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
# Controller Configuration
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
|
controller_config = dict(
|
|
|
|
|
|
logfile = '', # Empty means log to stdout
|
|
|
import_statement = '',
|
|
|
reuse_furls = False, # If False, old furl files are deleted
|
|
|
|
|
|
engine_tub = dict(
|
|
|
ip = '', # Empty string means all interfaces
|
|
|
port = 0, # 0 means pick a port for me
|
|
|
location = '', # Empty string means try to set automatically
|
|
|
secure = True,
|
|
|
cert_file = pjoin(security_dir, 'ipcontroller-engine.pem'),
|
|
|
),
|
|
|
engine_fc_interface = 'IPython.kernel.enginefc.IFCControllerBase',
|
|
|
engine_furl_file = pjoin(security_dir, 'ipcontroller-engine.furl'),
|
|
|
|
|
|
controller_interfaces = dict(
|
|
|
# multiengine = dict(
|
|
|
# controller_interface = 'IPython.kernel.multiengine.IMultiEngine',
|
|
|
# fc_interface = 'IPython.kernel.multienginefc.IFCMultiEngine',
|
|
|
# furl_file = 'ipcontroller-mec.furl'
|
|
|
# ),
|
|
|
task = dict(
|
|
|
controller_interface = 'IPython.kernel.task.ITaskController',
|
|
|
fc_interface = 'IPython.kernel.taskfc.IFCTaskController',
|
|
|
furl_file = pjoin(security_dir, 'ipcontroller-tc.furl')
|
|
|
),
|
|
|
multiengine = dict(
|
|
|
controller_interface = 'IPython.kernel.multiengine.IMultiEngine',
|
|
|
fc_interface = 'IPython.kernel.multienginefc.IFCSynchronousMultiEngine',
|
|
|
furl_file = pjoin(security_dir, 'ipcontroller-mec.furl')
|
|
|
)
|
|
|
),
|
|
|
|
|
|
client_tub = dict(
|
|
|
ip = '', # Empty string means all interfaces
|
|
|
port = 0, # 0 means pick a port for me
|
|
|
location = '', # Empty string means try to set automatically
|
|
|
secure = True,
|
|
|
cert_file = pjoin(security_dir, 'ipcontroller-client.pem')
|
|
|
)
|
|
|
)
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
# Client Configuration
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
|
client_config = dict(
|
|
|
client_interfaces = dict(
|
|
|
task = dict(
|
|
|
furl_file = pjoin(security_dir, 'ipcontroller-tc.furl')
|
|
|
),
|
|
|
multiengine = dict(
|
|
|
furl_file = pjoin(security_dir, 'ipcontroller-mec.furl')
|
|
|
)
|
|
|
)
|
|
|
)
|
|
|
|
|
|
default_kernel_config['engine'] = engine_config
|
|
|
default_kernel_config['mpi'] = mpi_config
|
|
|
default_kernel_config['controller'] = controller_config
|
|
|
default_kernel_config['client'] = client_config
|
|
|
|
|
|
|
|
|
config_manager = ConfigObjManager(default_kernel_config, 'IPython.kernel.ini')
|