# Remote access to Rosetta on Blue Gene or another HPC system?

11 posts / 0 new
#1

Is there a parallel version of the Rosetta suite (for example, on Blue Gene) available to the general research community anywhere? My local supercomputer network (SHARCNET in Ontario, Canada) does not have Rosetta installed so I am wondering whether I can access it elsewhere? If not, are there instructions available for doing HPC installations?

Post Situation:
Mon, 2011-05-16 08:40
rfieldhouse

If you want a systemwide installation, you'll have to talk to the sysadmins. As a community, the Rosetta developers do not go about getting Rosetta installed on others' supercomputer clusters. (That said, if a developer has ever used your supercomputer, then we've figured out how to install it).

Assuming your cluster lets you compile your own code, then installing rosetta on the cluster is no different from installing it on a desktop. (Er, actually, it's probably easier, since you're more likely to have libraries, etc, already; also there's little reason to be using Rosetta on a desktop). I have done this on multiple clusters with minimal difficulty. You often need to do a few cluster-specific steps (like adding the MPI compiler to your path, etc) but I can't predict those ahead of time.

Does your resource not allow you to put your own code on? If not, I would guess your best bet is to badger the sysadmins to install it.

A special note about BlueGenes: A) older bluegene compilers cannot compile Rosetta because they do not completely implement the C++ standard, particularly the functors that underlie the owning pointers we use. B) Rosetta's memory footprint is outgrowing the memory available on bluegenes; I can help strip it down if that is an issue but stock Rosetta may be problematic. Design is out of the question.

Mon, 2011-05-16 09:02
smlewis

Thanks for the advice. I am attempting an MPI installation in my own directory. The basic installation seemed to work fine, but I ran into trouble with the mpiCC installation. Regarding the system-specific steps, specifically the mpiCC compiler, I get this error:

scons: Building targets ...
mpiCC -o build/src/release/linux/2.6/64/x86/gcc/mpi/apps/public/AbinitioRelax.o -c -std=c++98 -pipe -ffor-scope -W -Wall -pedantic -Wno-long-long -O3 -ffast-math -funroll-loops -finline-functions -finline-limit=20000 -s -Wno-unused-variable -DNDEBUG -DUSEMPI -Isrc -Iexternal/include -Isrc/platform/linux/64/gcc -Isrc/platform/linux/64 -Isrc/platform/linux -Iexternal/boost_1_38_0 -I/usr/local/include -I/usr/include src/apps/public/AbinitioRelax.cc
scons: *** [build/src/release/linux/2.6/64/x86/gcc/mpi/apps/public/AbinitioRelax.o] Error 127
scons: building terminated because of errors.

I've already adjusted the SConstruct file to include the pat the mpiCC:
path = ['/bin', '/usr/bin', '/opt/sharcnet/compile/1.3/bin/mpiCC']
env = Environment(ENV = {'PATH' : path})

Any ideas?

Thanks!

Tue, 2011-05-17 14:17
rfieldhouse

Go to rosetta_source/tools/build and copy site.settings.topsail to site.settings. This improves the pathing that SCons uses. If that doesn't work, perhaps we can try setting an alias or something...

Tue, 2011-05-17 16:45
smlewis

Another possibility opens up if your system wants you to use "mpicxx" instead of "mpicc". You can force an override there by editing user.settings (in tools/build):

 "gcc, mpi" : { "overrides" : { "cxx" : "mpicxx" }, },

Wed, 2011-05-18 08:10
smlewis

I tried the first of the last two suggestions and it seemed to get me around the problem. Here's what I get now. Not sure if things are ok or not, because it finished what it was doing but threw an error "KeyError: 'INCLUDE'" ... is there a way to verify the build?

***
Traceback (most recent call last):
File "/work/rf/rosetta/rosetta_source/SConstruct", line 148, in main
build = SConscript("tools/build/setup.py")
File "/work/rf/scons2/lib/scons-2.0.1/SCons/Script/SConscript.py", line 614, in __call__
return method(*args, **kw)
File "/work/rf/scons2/lib/scons-2.0.1/SCons/Script/SConscript.py", line 551, in SConscript
return _SConscript(self.fs, *files, **subst_kw)
File "/work/rf/scons2/lib/scons-2.0.1/SCons/Script/SConscript.py", line 260, in _SConscript
exec _file_ in call_stack[-1].globals
File "/work/rf/rosetta/rosetta_source/tools/build/setup.py", line 411, in ?
build = setup()
File "/work/rf/rosetta/rosetta_source/tools/build/setup.py", line 403, in setup
build.settings = setup_build_settings(build.options)
File "/work/rf/rosetta/rosetta_source/tools/build/setup.py", line 203, in setup_build_settings
File "/work/rf/rosetta/rosetta_source/tools/build/settings.py", line 86, in load
execfile(file, settings)
File "site.settings", line 23, in ?
File "/usr/lib64/python2.4/UserDict.py", line 17, in __getitem__
def __getitem__(self, key): return self.data[key]
KeyError: 'INCLUDE'
scons: Building targets ...
scons: `bin' is up to date.
scons: done building targets.
[rf@tig241 rosetta_source]\$

Wed, 2011-05-18 13:27
rfieldhouse

If you've got symlinks to functioning binaries in the bin/ folder, it worked. Here, I think it didn't. I forget the solution to the KeyError include problem, I'll see what I can find.

Wed, 2011-05-18 13:31
smlewis

It's caused by a python and/or scons version mismatch. In the site.settings file, try "include" in place of "INCLUDE", perhaps? This is a wild guess from the first few google hits.

You may be able to try the Rosetta-embedded SCons instead of an installed copy (scons.py in the rosetta_source directory).

Wed, 2011-05-18 13:38
smlewis

Hello, I tried switching "include" in place of "INCLUDE" and also using the Rosetta Scons, but to no avail. If you have any further ideas, let me know. Thanks!!

Thu, 2011-05-19 08:13
rfieldhouse