Upgrade Blue Gene/L

In order to get FCPU working on Blue Gene, the C++ compiler needs to be upgraded.

Before we start

IP address of machines

First here is the list of nodes accessible from internet.

hostname IP role
sn 192.170.57.16 service node
fen1 194.170.57.17 front end node 1
fen2 194.170.57.18 front end node 1

VNC

It is a good idea to connect these nodes via a VNC session so that when the internet is interrupted, the work is not lost.
You may want to create/modify your ~/.vnc/xstartup file as following

#!/bin/sh

xrdb $HOME/.Xresources
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
kde &

It will give you a nice KDE session once connected.

To start the vnc session, first login to the machine via regular ssh (for example, using putty on Windows) and run

vncserver

You may need to choose a password if this is your first time.
Then connect to the machine via vnc. For example, use Ulatra VNC on Windows or vncviewer on Linux. Sometimes typing the IP address is not enough. You may need to specify the port number as well in the manner such as

194.170.57.16:5901

This port number is usually 5900 plus the session number you get when starting vncserver. You can always make sure by checking the vnc log file such as ~/.vnc/sn:1.log, where you should find something like

08/01/2009 13:48:09 Listening for VNC connections on TCP port 5901
08/01/2009 13:48:09 Listening for HTTP connections on TCP port 5801

In VNC, even if the VNC viewer window is closed, the session is not. You can reconnect and see the sessions again.
When you are finally finished and want to close the vnc session, run the following on the machine

vncserver -kill :1

where the number 1 is an example of the session number.

Download the packages

Login to IBM Blue Gene Solution website using the account bgladmin at hct dot ac dot ae. Once inside, you will see a personal information page.
Click on submit at the bottom of the page and you will be guided on downloading the update packages.

Choose the offerings of V1R3M4: Blue Gene/L Programs - 07/29/2008 and you will see 10 files to download. They are

bglbaremetal-2008.1.3-4.ppc64.rpm  bglmcp-2008.1.3-4.ppc64.rpm
bglblrtstool-2008.1.3-4.ppc64.rpm  bglmpi-2008.1.3-4.ppc64.rpm
bglcmcs-2008.1.3-4.ppc64.rpm       bglnavigator-2008.1.3-4.ppc64.rpm
bglcnk-2008.1.3-4.ppc64.rpm        bgl_os-1.3.20080611-0.ppc64.rpm
bgldiag-2008.1.3-4.ppc64.rpm       ReadMe_BGL.txt

You should read the ReadMe_BGL.txt first. Its content can be also found at the reference part of this page.

Let's Upgrade!

Follow the ReadMe_BGL.txt file and do the upgrade. It is failry straightforward. Some of the step we don't need to do since we didn't change any default values.

However, this upgrade does not give us a newer version of C++ compiler. The GCC is still version 3.4.3, which can be confirmed by

sjin@sn V1R3M4_300_2008-080728 $ mpicc -show
/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/blrts-gnu/bin/powerpc-bgl-blrts-gnu-gcc -g -gdwarf-2 -O2 -L/nfshome/sjin/software/lib -I/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/bglsys/include -L/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/bglsys/lib -lmpich.rts -L/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/bglsys/lib -lmsglayer.rts -ldevices.rts -lrts.rts -ldevices.rts -lrts.rts
sjin@sn V1R3M4_300_2008-080728 $ /bgl/BlueLight/V1R3M4_300_2008-080728/ppc/blrts-gnu/bin/powerpc-bgl-blrts-gnu-gcc --version
powerpc-bgl-blrts-gnu-gcc (GCC) 3.4.3
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

sjin@sn V1R3M4_300_2008-080728 $

We found out though this procedure that the GCC source needs to be patched by IBM before it can be built for Blue Gene/L. Since IBM has only released patches for GCC-3.4.3, newer versions of GCC cannot be installed on Blue Gene/L.

References

The ReadMe_BGL.txt file downloaded from IBM.

Acknowledgements

Many thanks to Mr. Vijay Shankar Ganesh K for his help on getting this upgrade.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License