###############################################################################
# Global specifications for BlueGene system
# NOTE: BlueGene/L, P, and Q systems require different Image specifications.
# 	See "man bluegene.conf" for details  This example is for a BGQ system
#	Look at older <=2.3 for examples of L or P
#
# MloaderImage:         MloaderImage used for creation of all bgblocks.
#
# You may add extra images which a user can specify from the srun
# command line (see man srun).  When adding these images you may also add
# a Groups= at the end of the image path to specify which groups can
# use the image.
#
# AltMloaderImage:         Alternative MloaderImage(s).
#
# AllowSubBlockAllocation: This option allows multiple users to
#                          run jobs as small as 1 cnode in size on a block
#                          one midplane in size and smaller.
# LayoutMode:           Mode in which slurm will create blocks:
#                       STATIC:  Use defined non-overlapping bgblocks
#                       OVERLAP: Use defined bgblocks, which may overlap
#                       DYNAMIC: Create bgblocks as needed for each job
# MidplaneNodeCnt:      Number of c-nodes per midplane.
# NodeCardNodeCnt:      Number of c-nodes per node card.
# IONodesPerMP:         Number of I/O nodes per midplane.
#
# BridgeAPILogFile : Pathname of file in which to write the Bridge
#                    API logs.
# BridgeAPIVerbose:  How verbose the Bridge API logs should be
#                    0: Log only error and warning messages
#                    1: Log level 0 and information messasges
#                    2: Log level 1 and basic debug messages
#                    3: Log level 2 and more debug message
#                    4: Log all messages
# DenyPassthrough:   Prevents use of passthrough ports in specific
#                    dimensions, A, X, Y, and/or Z, plus ALL
#
###############################################################################
# These are the default images with are used if the user doesn't specify
# which image they want
MloaderImage=/bgsys/drivers/ppcfloor/boot/firmware

#Only group jette can use this image
AltMloaderImage=/bgsys/drivers/ppcfloor/boot/firmware2 Groups=jette

# Since no groups are specified here any user can use them
AltMloaderImage=/bgsys/drivers/ppcfloor/boot/firmware3

# Another option for images would be a "You can use anything you like image" *
# This allows the user to use any image entered with no security checking
AltMloaderImage=* Groups=da,adamb

LayoutMode=STATIC
#LayoutMode=Dynamic #suggested as default
MidplaneNodeCnt=512
NodeCardNodeCnt=32
IONodesPerMP=4 #used for IO poor systems (Can't create 32 c-node blocks, 128 is the smallest)
#IONodesPerMP=16 #used for IO rich systems

BridgeAPILogFile=/var/log/slurm/bridgeapi.log
BridgeAPIVerbose=0

#DenyPassthrough=A,X,Y,Z

AllowSubBlockAllocation=yes

###############################################################################
# Define the static/overlap blocks.  This is ignored and is not needed if
# using dynamic layout mode.
#
# This example assumes NodeName=bg[0000x3233] in the slurm.conf file.
#
# MPs: The midplanes in the block using AXYZ coordinates
# Type:  Connection type "MESH" or "TORUS" or "SMALL", default is "TORUS"
#        Type SMALL will divide a midplane into multiple bgblock
#        based on options NodeCards (count of single node card bglblocks)
#        and Quarters (count of quarter midplane bglblocks) to determine
#        type of small blocks.  With Q you can have each dimension be a
#        different type.  T,T,M,T means torus in all dimensions except the
#        Y dim.
#
# IMPORTANT NOTES:
# * Ordering is very important for laying out switch wires.  Please create
#   blocks with smap, and once done don't change the order of blocks created.
# * A block is implicitly created containing all resources on the system
# * Blocks must not overlap in static mode (except for implicitly
#   created bgblock). This will be the case when smap is used to create
#   a configuration file.
# * All Nodes defined here must also be defined in the slurm.conf file
# * Define only the numeric coordinates of the blocks here. The prefix
#   will be based upon the NodeName defined in slurm.conf.
###############################################################################
# LEAVE NEXT LINE AS A COMMENT, Full-system bgblock, implicitly created
# MPs=[0000x0033] Type=TORUS         # 4x3x4x4 = 192 midplanes
###############################################################################
# smap block layout here:
MPs=[0000x0013] Type=T,T,M,T  # 1x1x2x4 = 8 midplanes all dims in torus except Y
MPs=[0020x0023] Type=TORUS    # 1x1x1x4 = 4 midplanes all in torus
MPs=[0030x0031] Type=TORUS    # 1x1x1x2 = 2 midplanes all in torus
MPs=[0032] Type=TORUS # 1 midplane (always will be in TORUS no matter what)
MPs=[0033] Type=SMALL 256cnblocks=1 128cnblocks=2 # 1-256 c-node block 2-128 c-node blocks
