On Tuesday February 10 2009, David Haller wrote:
Hello,
On Tue, 10 Feb 2009, Heinz Diehl wrote:
just want to ask if there's a list what programs in opensuse 11.0/11.1 are multithreaded, meaning "can use multiple cpu cores". Example: "make -j".
make -j just starts multiple programs.
Which is one way to be free of the need to explicitly code for concurrent execution using threads. If there are multiple processors / cores, then this approach will cause parallel execution of the processes that make initiates. Since make understands dependencies (that's what it's all about), it knows what tasks have no interdependencies and can thus be executed concurrently. So use of "make -j" will indeed exploit a multi-CPU / multi-core system.
Real multihreading programs link to a threading library. E.g.:
rpm -q --whatrequires libpthread.so.0
gives you a list of packages linking against the "classic" pthread library.
But that will not pick up programs such as make that do exploit multiple CPUs or cores. To wit: % rpm -q --whatprovides $(type -p make) make-3.81-128.9 % rpm -q --whatrequires libpthread.so.0 |egrep -i make [none]
HTH, -dnh
Randall Schulz -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org