ZPL and Plan9

Another ongoing project in the ACL plan9 network is the ZPL-Plan9 integration. ZPL is a language from UWashington-Seattle. The reason we ported ZPL instead of some other language is because ZPL's compiler is designed to be most efficient on a cluster-the compiler parallelizes the code for you and sends out the jobs. Since Plan9 is also designed to be run on large networks, we figured the two would be great together. 6/15/01 was the first successful compile of a ZPL program on plan9. Instructions on installing ZPL in plan9 are below:


First you need to obtain zpl.home.tar.Z and zpl.src.tar.Z these can be obtained here Note: you will need to register with the ZPL people in order to download.

IMPORTANT! download the files to a linux box and uncompress there-plan9 does not have an uncompress and can't deal with the .Z.

       uncompress zpl.home.tar.Z
       uncompress zpl.src.tar.Z
After the files have been uncompressed and are in .tar format, create the directories /386/packages and /386/packages/zpl on your plan9 box. transfer the files to your plan9 box in /386/packages/zpl and:
       tar xf zpl.home.tar
       tar xf zpl.src.tar
this will create a zplhome and a src directory in /386/packages/zpl. next, download a patch we created here . This contains plan9 mkfiles converted from Makefiles as well as various fixes to certain files. untar the file in /386/packages/zpl:
      tar xf zplpatch.tar
this will put all the mkfiles in the various directories.

NOTE! you may experience some permissions problems while doing this. If you get an error like "access permission denied", it is most likely because you are not logged in on the cpu server as bootes, or because the files in /386/packages/zpl/* do not have the write bit enabled. to remedy these either get on the cpu server and continue or do a

chmod a+w filename

once you have untarred the patch, simply type "mk" to build the libraries.

after the build has completed, you need to go into packages/zpl/zplhome. you need to be in a POSIX environment, so type "ape/psh". Take this patch and untar it in zplhome/include/seq. this will make the appropriate modifications. you need to set a few variables before you start.

    export ZPLTARGET=x86-plan9
    export ZPLCOMMLAYER=seq
you will also need to make a few directories. in zplhome, do:
     mkdir lib
     mkdir lib/seq
     mkdir lib/seq/x86-plan9
then go into zplhome/src and type
     make clean
     ./zmake
do the "make" commands above for zplhome/src/seq.

set one more environment variable

     export ZPLHOME=/386/packages/zpl/zplhome
you should be all ready to compile your ZPL program.

to compile, go into the zplhome/examples directory and type

../../src/zc program.z
to run your program, type
./program -p1
p1 shows that you are only using one processor

Note! So far we have only ported ZPL to run on one processor. Parallel will hopefully be coming soon.


Last Modified: May 26 2002
aminnich@acl.lanl.gov