[Beowulf] Threaded code

Robert G. Brown rgb at phy.duke.edu
Wed Aug 18 05:54:12 PDT 2004


On Tue, 17 Aug 2004, Art Edwards wrote:

> Thanks for the input. We have determined that our atlas build is,
> indeed, threaded, and that it is reasonably well tuned for this system.
> For an 800x800 system we see the following for dgemm
> 
> /usr/lib64/libblas.a       430.540 MF
> ATLAS no threads	   3053.107 MF
> ATLAS with pthreads	   5115.086 MF
> 
> 1.67 is our speed up for 800x800. Now we have to learn about building
> a threaded fortran application. Are there any compiler swithes we need
> for g77 to build threaded code?

Sorry, I don't do fortran.  At least not unless somebody holds my dog
hostage or threatens to torch my car.

However, in C using threads is simply a matter of linking in the correct
thread library:

  LIBS = -lpthread -lmenu -lpanel -lcurses -lxml2 -lm

(from a threaded app I wrote).  Ditto in perl (which currently supports
threads, amazingly enough, in scripted code).  I'd guess that it is much
the same for fortran, with the usual caveat about c-style subroutine
calls and argument lists vs fortran-style calls and argument lists.

   rgb

> 
> Art Edwards
> 
> 
> On Tue, Aug 17, 2004 at 01:52:24PM -0400, Robert G. Brown wrote:
> > On Tue, 17 Aug 2004, Art Edwards wrote:
> > 
> > > I mean that when we run the threaded code and look at top, don't see two
> > > processors running. The load is always less than or equal to one. When
> > > we run two separate jobs, we see a load of 2. 
> > 
> > If you see a load of 2 and they complete in the time of 1, nothing is
> > wrong with SMP or the two processors, but your code, threaded or not,
> > isn't running in parallel.  As Mark suggested earlier, that makes me
> > suspect that your copy of ATLAS is either not threaded or not built for
> > your (SMP) system or both.
> > 
> > I'd suggest doing a proper build of ATLAS >>just<< for that system,
> > exploring the build options enough to be sure that the options you are
> > shooting for are turned on.  I also wouldn't be terribly surprised if
> > ATLAS doesn't speed up a whole lot when multithreaded.  It depends a bit
> > on where it is bottlenecked -- if it is bottlenecked at a shared
> > resource point, it could even slow down.  You're right back to the
> > fundamental problem of parallel program design -- it is very difficult
> > to automate because there are so many ways things can interact and
> > because work cannot always be done faster in parallel.
> > 
> >    rgb
> > 
> > > 
> > > Art Edwards
> > > 
> > > On Tue, Aug 17, 2004 at 07:45:32AM -0700, Alvin Oga wrote:
> > > > 
> > > > hi ya
> > > > 
> > > > yup.. that is dual cpu
> > > > 
> > > > On Tue, 17 Aug 2004, Art Edwards wrote:
> > > > 
> > > > > We are running SuSE 9.1 on a system with 8 GB of ram and two scsi disks.
> > > > > Here is /proc/cpuinfo
> > > > > processor       : 0
> > > > 
> > > > good
> > > > 
> > > > > processor       : 1
> > > > 
> > > > good
> > > > 
> > > > > Linux bladerunner 2.6.4-52-smp #1 SMP Wed Apr 7 01:58:54 UTC 2004 x86_64
> > > > > x86_64 x86_64 GNU/Linux
> > > > 
> > > > good
> > > > 
> > > > 
> > > > > > Newbie question:
> > > > > > 
> > > > > > We just purchased a dual opteron box that is running an SMP kernel. We
> > > > > > have built a fortran code using g77 and a pthreaded atlas. Currently, we
> > > > > > see only one processor. What really simple thing have we missed?
> > > > 
> > > > so what do you mean by "see only one processor" ??
> > > > 
> > > > c ya
> > > > alvin
> > > 
> > > 
> > 
> > -- 
> > Robert G. Brown	                       http://www.phy.duke.edu/~rgb/
> > Duke University Dept. of Physics, Box 90305
> > Durham, N.C. 27708-0305
> > Phone: 1-919-660-2567  Fax: 919-660-2525     email:rgb at phy.duke.edu
> > 
> > 
> 
> 

-- 
Robert G. Brown	                       http://www.phy.duke.edu/~rgb/
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone: 1-919-660-2567  Fax: 919-660-2525     email:rgb at phy.duke.edu






More information about the Beowulf mailing list