[vox] gcc using smp

Jeff Newmiller jdnewmil at dcn.davis.ca.us
Sat Aug 12 11:38:42 PDT 2006


Scott Miller wrote:
> http://myownlittleworld.com/miscellaneous/computers/piprogram.html
> 
> I downloaded this benchmark. I'm running Ubuntu PPC on a powermac dual
> cpu G5. Trying the provided PPC Linux binary, and then also compiling
> from source I'm only getting one CPU used by gcc. While running the
> benchmark.

Ken must have missed your last sentence.

> I'm fairly new to Ubuntu. But is there a place to set gcc to use both
> CPUs? I know in gentoo it's in /etc/make.conf but ubuntu doesn't have
> one of those.

There is nothing magical about two cpus... welcome to asymmetric
multiprocessing.

The generic answer to your question is that each cpu can only run one
sequence of instructions at a time, and instruction sequences are generally
represented by threads or processes.  Thus, the program must be written to
dole out tasks to multiple threads to gain the advantage of parallel
processing.  The source code you are running does not make the operating
system calls necessary to fork off threads, so you cannot apply the
algorithm on both processors at once.

Some distributed algorithms for computing pi might exist, but it seems
like a tough problem to break up into smaller pieces.

Note that the parallelism of multiple threads is normally simulated by
timesharing the CPU, so running an algorithm designed for multiprocessing
that is run on a single cpu will generally run slower than one
designed for single processing due to wasted time switching between threads.

-- 
---------------------------------------------------------------------------
Jeff Newmiller                        The     .....       .....  Go Live...
DCN:<jdnewmil at dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
                                       Live:   OO#.. Dead: OO#..  Playing
Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
/Software/Embedded Controllers)               .OO#.       .OO#.  rocks...1k
---------------------------------------------------------------------------


More information about the vox mailing list