BCCD:PowerPC
The BCCD, or Bootable Cluster CD, is a diskless cluster solution "created to facilitate instruction of parallel computing aspects and paradigms." More information about the BCCD can be obtained from bccd.cs.uni.edu, as well as from the BCCD's main wiki, which this page is meant to complement. This page serves generally as an ongoing summation of Tobias McNulty's work on the BCCD for PowerPC.
Contents
Building the BCCD on PowerPC
See also: BCCD weblog
Setting Up Your Build Environment
Base System: Debian GNU/Linux testing with development tools. The Debian installer can be netbooted on most NewWorld PowerMacs. See the PowerPC Kernel Archives' Mac netboot page for instructions.
To setup your Debian environment, download bccd-dpkg-selections
and run dpkg --set-selections < bccd-dpkg-selections
then apt-get dselect-upgrade
:
su - /* enter root pass */ wget http://hermes.osuosl.org/~tmcnulty/bccd-dpkg-selections dpkg --set-selections < bccd-dpkg-selections apt-get dselect-upgrade
Building the BBC-PPC ISO
/* Check out the cvs tree anonymously */ cvs -d:pserver:anonymous@bccd.cs.uni.edu:/ login /* hit return when prompted for a password */ cvs -d:pserver:anonymous@bccd.cs.uni.edu:/ co bccd /* OR: Check out the cvs tree with a real user account */ export CVS_RSH=ssh export CVSROOT=username@bccd.cs.uni.edu:/var/lib/cvs cvs co bccd /* execute the build */ export singularity_GARCH=ppc cd bccd/meta/lnx-bbc make build /* wait a long, long, long time */
TODO List for BCCD/PowerPC
Fix Runtime Build Environment
1) /etc/ld.so.conf
change /lib/gcc-lib/i386-lnxbbc-linux to /lib/gcc-lib/powerpc-lnxbbc-linux
bccd/special/bbc-provided/files/ld.so.conf
2) LD_LIBRARY_PATH in /etc/bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/gcc-lib/i386-lnxbbc-linux/ should be: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/gcc-lib/powerpc-lnxbbc-linux/
bccd/special/bbc-provided/files/bashrc
3) Fix library install dir:
ld looks at "/tmp/${USER}.build/staging/singularity/image/lib" to find the libraries that are in "/lib":
/bin/../lib/gcc-lib/powerpc-lnxbbc-linux/3.2.3/../../../../powerpc-lnxbbc-linux/bin/ld: cannot find //tmp/gray.build/staging/singularity/image//lib/libc.so.6 collect2: ld returned 1 exit status
Not sure what needs to be changed here.. (the quick fix on the image is mkdir -p /tmp/gray.build/staging/singularity/image && ln -sf /lib /tmp/gray.build/staging/singularity/image/lib)
4) CPP defaults to /lib/cpp, but cpp is at /bin/cpp and /usr/bin/cpp
5) MPICC
export MPICC=/lam-mpi/bin/mpicc
so mpicc is found?
6) LDFLAGS - may be fixed once above issues are addressed
Maybe this will come automatically once LD_LIBRARY_PATH and/or ld.so.conf is fixed, but:
export LDFLAGS="-L/lib/gcc-lib/powerpc-lnxbbc-linux"
is currently necessary while building FFTW:
checking whether the Fortran 77 compiler (f77 ) works... no
configure: error: installation or configuration problem: Fortran 77 compiler cannot create executables.
(can't find -lfrtbegin)
Build and Test Packages
To Build and Test
perfex
To Test
gromacs - test multinode runs