Tuesday, November 03, 2009

Install NumPy & SciPy with ATLAS from source on SUSE Linux 10.1

Yesterday I finally installed NumPy/SciPy with ATLAS from source on SUSE Linux 10.1 (X86_64) to "$HOME/local" directory. Here is the summary of procedures (based on the instructions from SciPy home page with some modifications).

Install required packages

Python "nose" packages

swig-1.3.40

Build ATLAS with lapack (3.1.1)
Basically I followed the example instructions from ATLAS home page. Below are the key resulting options for lapack and ATLAS:

LAPCAK
The LAPACK root directory is "/users/kks/toos/lapack-3.2.1-patched" where I modified "make.inc" as follows:

Then typing "make lib" results in the LAPACK library "lapack_LINUX.a" there.

ATLAS
The ATLAS root directory is "/users/kks/tools/ATLAS" and its build directory is "/users/kks/tools/mybuild/atlas". In the "atlas" directoy, I built ATLAS as follows:

Then I followed these steps in the "lib" directory under the build directory to build a full LAPACK library (static one, i.e., "liblapack.a"):

Still, the shared version (i.e., "liblapack.so") is missing. So I convereted the static library to a shared one as follows (based on this suggestion):

Now we have both static and shared versions of full LAPACK libraries based on ATLAS!

Build UMFPACK (5.4.0)
As said, I followed basically the same procedures outlined here with the following "UFconfig.mk" settings (note that "CFLAGS" appear twice):

Build FFTW (3.2.2)

I didn't try these, but one may add the following additional options for "configure":

Build Numpy and Scipy (development version)
Unlike the said instructions, I didn't create "site.cfg" files, but simply did the following to install both the packages:

That's it!

Monday, January 19, 2009

To-do for research this week

  • Understand the basic operation of network device drivers and routing/bridging processes in order to implement network simulation models that are more independent of simulators. Specifically, the following will be investigated:
    • How IRQs and their handlers are related with event handlers in discrete-event-driven simulators;
    • How timers can be implemented in simulators such a way that details specific to simulators are hidden from the models.
  • Start working on building new simulation models for hybrid TDM/WDM-PONs based on existing SUCCESS models and OMNeT++ 4.x release.
  • Study the concurrent programming and languages better supporting this framework including Erlang, scalar, and clojure.