Main > Free Download Search >

Free in parallel software for linux

in parallel

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 340
kparalleleport 1.1

kparalleleport 1.1


kparalleleport is a program for programmers who wish to use the parallel port. more>>
kparalleleport is a program for programmers who wish to use the parallel port.

The project makes it possible to view the values registered or read on the parallel port.
<<less
Download (0.098MB)
Added: 2007-02-12 License: GPL (GNU General Public License) Price:
984 downloads
File::Find::Parallel 0.0.4

File::Find::Parallel 0.0.4


File::Find::Parallel allows you to traverse a number of similar directories in parallel. more>>
File::Find::Parallel allows you to traverse a number of similar directories in parallel.

SYNOPSIS

use File::Find::Parallel;

my $ffp = File::Find::Parallel->new( qw( /foo /bar ) );

print "Union:n";
my $union = $ffp->any_iterator
print " $_n" while $_ = $union->();

print "Intersection:n";
my $inter = $ffp->all_iterator
print " $_n" while $_ = $inter->();

File::Find is the ideal tool for quickly scanning a single directory. But sometimes its nice to be able to perform operations on multiple similar directories in parallel. Perhaps you need to compare the contents of two directories or convert files that are shared in more than one directory into hard links.

This module manufactures iterators that visit each file and directory in either the union or the intersection of a number of directories. Hmm. What does that mean?

Given two directory trees like this

foo
foo/a
foo/b/c
foo/d

bar
bar/a
bar/b
bar/e

you can choose to work with the intersection of the two directory structures:
.
./a
./b

That is the subdirectories and files that the foo and bar share.
Alternately you can work with the union of the two directory structures:
.
./a
./b
./b/c
./d
./e

Still not clear? Well, if you wanted to do a recursive diff on the two directories youd iterate their union so you could report files that were present in foo but missing from bar and vice-versa.

If, on the other hand you wanted to scan the directories and find all the files that are common to all of them youd iterate their intersection and receive only files and directories that were present in all the directories being scanned.

The any_iterator and all_iterator are built on a more general purpose method: want_iterator. If, for example, you want to make links between files that are found in more than one directory you might get your iterator like this:

my $iter = $ffp->want_iterator( 2 );

The apparently magic 2 reflects the fact that if youre going to be making links you need at least two files. No matter how many directories you are iterating over in parallel you will only see files and directories that appear in at least two of those directories.

File::Find::Parallel can scan any number of directories at the same time. Heres an example (on Unix systems) that returns the list of all files and directories that are contained in all home directories.

use File::Glob :glob;
use File::Find::Parallel;

my $find = File::Find::Parallel->new( bsd_glob( /home/* ) );

my @common = ( );
my $iter = $find->all_iterator;
while ( defined my $obj = $iter->() ) {
push @common, $obj;
}

print "The following files are common to ",
"all directories below /home :n";

print " $_n" for @common;

For a complete concrete example of its use see lncopies in the bin subdirectory of this distribution.

Iterators

The iterator returned by any_iterator, all_iterator or want_iterator is a code reference. Call it to get the next file or directory. When all files and directories have been returned the iterator will return undef.

Once created an iterator is independent of the File::Find::Parallel object that created it. If the object goes out of scope and is destroyed during the life of the iterator it will still function normally.

You may have many active iterators for a single File::Find::Parallel object at any time.

<<less
Download (0.009MB)
Added: 2007-07-07 License: Perl Artistic License Price:
840 downloads
Parallel::Pvm 1.4.0

Parallel::Pvm 1.4.0


Parallel::Pvm is a Perl extension for the Parallel Virtual Machine (PVM) Message Passing System. more>>
Parallel::Pvm is a Perl extension for the Parallel Virtual Machine (PVM) Message Passing System.

SYNOPSIS

use Parallel::Pvm;

The PVM message passing system enables a programmer to configure a group of (possibly heterogenous) computers connected by a network into a parallel virtual machine. The system was developed by the University of Tennessee, Oak Ridge National Laboratory and Emory University.

Using PVM, applications can be developed which spawns parallel processes onto nodes in the virtual machine to perform specific tasks. These parallel tasks can also periodically exchange information using a set of message passing functions developed for the system.

PVM applications have mostly been developed in the scientific and engineering fields. However applications for real-time and client/server systems can also be developed. PVM simply provides a convenient way for managing parallel tasks and communications without need for rexec or socket level programming.

As a utility, PVM enables an organisation to leverage on the computers already available for parallel processing. Parallel applications can be started during non-peak hours to utilise idle CPU cycles. Or dedicated workstation clusters connected via a high performance network like ATM can be used for high performance computing.

It is recommended that you read the PVM manual pages and the book "PVM: Parallel Virtual Machine, A userss guide and tutorial for networked parallel computing". Both the PVM system and the book can be obtained from the HTTP address http://www.epm.ornl.gov/pvm.

For the rest of this document we will provide a tutorial introduction to developing PVM applications using perl. The interface for some of the PVM functions have been changed of course to give it a more perl-like feel.
Remember think perl think parallel! Good Luck!

<<less
Download (0.019MB)
Added: 2007-04-18 License: Perl Artistic License Price:
931 downloads
Parallel::Queue 1.00

Parallel::Queue 1.00


Parallel::Queue is a Perl module to fork or thread a list of closures N-way parallel. more>>
Parallel::Queue is a Perl module to fork or thread a list of closures N-way parallel.

SYNOPSIS

# example queue:
# only squish files larger than 8KB in size. figure
# that the system can handle four copies of squish
# running at the same time without them interfering
# with one another.

my @queue = map { -s > 8192 ? sub{ squish $_ } : () } @filz;

# functional: pass in the count and list of coderefs.
#
# adding runqueue exports the subroutine into
# the current package. useful for non-OO situations.
#
# run the queue 4 way parallel.

use Parallel::Queue qw( runqueue verbose fork );

my @remaining = runqueue 4, @queue;

die "Incomplete jobs" if @remaining;

# OO: generate queue manager and use without the
# runqueue arguments, construct a queue manager,
# and use it to run the jobs

use Parallel::Queue;

my $quemgr = Parallel::Queue->construct( thread );

$quemgr->runqueue( 4, @queue );

die "Incomplete jobs" if @queue;

# call Parallel::Queue with the default configuration
# (fork quietly).

require Parallel::Queue;

Parallel::Queue->runqueue( 4, @queue );

# pre-define defaults for the objects: leave
# out runqueue, set the rest, and construct
# an object. the one here gets verbose, thread,
# and debug all set to true.

use Parallel::Queue qw( verbose thread );

my $quemgr = Parallel::Queue->construct( debug );

my @remaining = $quemgr->runqueue( 4, @queue );

Given a count and an array of coderefs (most likely closures), runqueue will run the jobs in parallel. The jobs can be run via fork or detached threads [see known issues for threading]. Jobs on the queue are executed until one of them exits non-zero, the fork/thread operation fails, or all of them are dispatched (i.e., the queue is empty).

<<less
Download (0.008MB)
Added: 2007-04-18 License: Perl Artistic License Price:
919 downloads
Parallel BZIP2 1.0.2

Parallel BZIP2 1.0.2


Parallel BZIP2 project is a parallel implementation of the bzip2 block. more>>
Parallel BZIP2 project is a parallel implementation of the bzip2 block- sorting file compressor that uses pthreads and achieves near-linear speedup on SMP machines. The output of this version is fully compatible with bzip2 1.0.2 (ie: anything compressed with PBZIP2 can be decompressed with bzip2).

PBZIP2 should work on any system that has a pthreads compatible C++ compiler (such as gcc). It has been tested on: Linux, Windows (cygwin & MinGW), Solaris, Tru64/OSF1, HP-UX, and Irix.

<<less
Download (0.026MB)
Added: 2007-07-26 License: BSD License Price:
828 downloads
Parallel MPI BZIP2 0.6

Parallel MPI BZIP2 0.6


Parallel MPI BZIP2 is a parallel implementation of the bzip2 block-sorting file compressor. more>>
Parallel MPI BZIP2 is a parallel implementation of the bzip2 block-sorting file compressor that uses MPI and achieves significant speedup on cluster machines.

The output of this version is fully compatible with bzip2 v1.0.2 or newer (ie: anything compressed with mpibzip2 can be decompressed with bzip2). MPIBZIP2 should work on any system that has a pthreads compatible C++ compiler (such as gcc). It has been tested on: Linux and Solaris.

NOTE: If you are looking for a parallel BZIP2 that works on multi-processor/muti-core/SMP machines, you should check out PBZIP2 which was designed for a multi-threaded shared-memory architecture.

Usage:

Run mpibzip2 for the help listing.
==================================================================
Usage: mpibzip2 [-1 .. -9] [-b#cdfktvV] < filename > < filename2 > < filenameN >

-b#: where # is the file block size in 100k (default 9 = 900k)
-c : output to standard out (stdout)
-d : decompress file
-f : force, overwrite existing output file
-k : keep input file, dont delete
-t : test compressed file integrity
-v : verbose mode
-V : display version info for mpibzip2 then exit
-1 .. -9 : set BWT block size to 100k .. 900k (default 900k)

Example: mpibzip2 -b15k myfile.tar
Example: mpibzip2 -v -5 myfile.tar second*.txt
Example: mpibzip2 -d myfile.tar.bz2
<<less
Download (0.018MB)
Added: 2007-07-25 License: BSD License Price:
823 downloads
Parallel Port Make 0.22

Parallel Port Make 0.22


Parallel Port Make can build FreeBSD ports in parallel to fully take advantage of modern multi-core and processor machine. more>>
Parallel Port Make project is a tool to build FreeBSD ports in parallel to fully take advantage of modern multi-core and processor machines.

Default: pportmake.py --clean -- cleanup --install -job=2 [port1] [portn]

Example: pportmake.py irc/irssi irc/epic

Advanced: pportmake.py -rSvD -j 10 irc/irssi

-h --help Show this help usage message
-c --clean Clean port before compiling
-C --cleanup Clean port after compiling
-d --deinstall Deinstall ports, implied by reinstall
-f --force Force a port and all dependancies to be installed
-G --noconfig Dont recursively configure options
-i --install Install port (default)
-j n --jobs=n Number of threads to use, 1 or 2 per CPU core
is recommended
Default is 2
-O args --options=foo List of arguments to pass to make.
E.g. -O -DX11=yes -DFOO
-r --reinstall Reinstall port and ALL dependancies
-S --maxspeed Try and speed up by maximising CPU usuage.
This may break some ports, use with caution
-w --noclean Dont make clean before compiling
-W --nocleanup Dont make clean after compiling
-v --verbose Be extra verbose
-V --version Show version information
-D --debug Show some debugging info
-P --pretend Dont actually alter the ports

NOTES: It is currently only safe to run 1 copy of this and not have other ports compiling simultaneously
<<less
Download (0.005MB)
Added: 2007-01-16 License: BSD License Price:
1013 downloads
PDL::Parallel::MPI 0.02

PDL::Parallel::MPI 0.02


PDL::Parallel::MPI Perl module contains routines to allow PDL objects to be moved around on parallel systems using the MPI lib. more>>
PDL::Parallel::MPI Perl module contains routines to allow PDL objects to be moved around on parallel systems using the MPI library.

SYNOPSIS

use PDL;
use PDL::Parallel::MPI;
mpirun(2);

MPI_Init();
$rank = get_rank();
$a=$rank * ones(2);
print "my rank is $rank and $a is $an";
$a->move( 1 => 0);
print "my rank is $rank and $a is $an";
MPI_Finalize();

MPI STANDARD CALLS

Most of the functions from the MPI standard may be used from this module on regular perl data. This is functionallity inherited from the Parallel::MPI module. Read the documentation for Parallel::MPI to see how to use.

One may mix mpi calls on perl built-in-datatypes and mpi calls on piddles.

use PDL;
use PDL::Parallel::MPI;
mpirun(2);

MPI_Init();
$rank = get_rank();
$pi = 3.1;
if ($rank == 0) {
MPI_Send($pi,1,MPI_DOUBLE,1,0,MPI_COMM_WORLD);
} else {
$message = zeroes(1);
$message->receive(0);
print "pi is $messagen";
}
MPI_Finalize();

<<less
Download (0.13MB)
Added: 2007-07-07 License: Perl Artistic License Price:
843 downloads
Parallel::ForkManager 0.7.5

Parallel::ForkManager 0.7.5


Parallel::ForkManager is a simple parallel processing fork manager. more>>
Parallel::ForkManager is a simple parallel processing fork manager.

SYNOPSIS

use Parallel::ForkManager;

$pm = new Parallel::ForkManager($MAX_PROCESSES);

foreach $data (@all_data) {
# Forks and returns the pid for the child:
my $pid = $pm->start and next;

... do some work with $data in the child process ...

$pm->finish; # Terminates the child process
}

This module is intended for use in operations that can be done in parallel where the number of processes to be forked off should be limited. Typical use is a downloader which will be retrieving hundreds/thousands of files.

<<less
Download (0.006MB)
Added: 2007-04-18 License: Perl Artistic License Price:
931 downloads
Parallel::Workers::Shared 0.0.7

Parallel::Workers::Shared 0.0.7


Parallel::Workers::Shared is a simple Perl module. more>>
Parallel::Workers::Shared is a simple Perl module.

Parallel::Workers::Shared requires no configuration files or environment variables.

<<less
Download (0.010MB)
Added: 2007-01-23 License: Perl Artistic License Price:
1004 downloads
Berkeley Unified Parallel C 2.4.0

Berkeley Unified Parallel C 2.4.0


Berkeley Unified Parallel C (UPC) is an extension of the C programming language. more>>
Unified Parallel C, in short UPC, is an extension of the C programming language designed for high performance computing on large-scale parallel machines.

The language provides a uniform programming model for both shared and distributed memory hardware.

The programmer is presented with a single shared, partitioned address space, where variables may be directly read and written by any processor, but each variable is physically associated with a single processor.

UPC uses a Single Program Multiple Data (SPMD) model of computation in which the amount of parallelism is fixed at program startup time, typically with a single thread of execution per processor.

Whats New in This Release:

- Add initial native support for the Cray XT3 via new portals network
- Implement the GASP 1.5 performance instrumentation interface, supporting the
Parallel Performance Wizard (PPW) and other third-party profiling tools.
- Add bupc_ticks_to_ns() - finer granularity timer query
- Add the Berkeley implementations of the UPC collectives and UPC-IO to GCCUPC+UPCR
- Add most of the Berkeley UPC library extensions to GCCUPC+UPCR
- Add upcdecl command-line tool (also online at: http://upc.lbl.gov/upcdecl)
- Add support for alloca() and stdarg.h
- Performance improvements to the BUPC semaphore library for signalling store
- Add bupc_thread_distance() - runtime thread layout query for hierarchical systems
- Add a remote fetch-and-add UPC library extension (initially just for 64-bit ints)
- Allow configure-time tuning of bit distribution in packed pointer-to-shared rep
- Fix the following notable bugs in 2.2.2 (see http://upc-bugs.lbl.gov for details):
- bug525: optimizer crashes on Tru64/CompaqC for libgasnet
- bug1229: More robust preprocessing on Compaq C
- bug1389: ansi-aliasing violations on small local put/get copies
- bug1531: improved lock fairness to remote lock requests
- bug1594: timer inaccuracies on Cray X1E
- bug1645: preprocess-time failure Backslash found where operator expected
- bug1657: PACKAGE_* symbols exposed to UPC code on GCCUPC+UPCR
- bug1683: improve upcrun handling of -shared-heap-max
- bug 1743: More robust behavior when backend C compiler changes
- Improved SRV-based DNS failover for upcc HTTP translation
- Add gzip compression to HTTP netcompile, for faster compiles over slow links
- Improved robustness for SSH netcompile to handle stray output from dotfiles
- Numerous misc minor bug fixes
<<less
Download (MB)
Added: 2006-11-18 License: BSD License Price:
1072 downloads
Parallel Bladeenc 0.92.1b5

Parallel Bladeenc 0.92.1b5


Parallel Bladeenc is a true parallel version of the Bladeenc MP3 encoder. more>>
Parallel Bladeenc is a true parallel version of the Bladeenc MP3 encoder; it distributes work across CPUs to speed up MP3 encoding. It uses the Message Passing Interface (MPI) for parallelization across SMPs and/or multiple machines. Hence, if you have a 4-way SMP, you can encode your MP3s about 4 times as fast as the regular Bladeenc; if you have two 4-way SMPs, you can encode about 8 times as fast.
The difficult part about parallelization is typically about how to split the problem up into independent (or nearly independent) parts. The structure shown above - assuming that the encode() function was independent of previous calls to encode() - is trivial to parallelize.
For example, if we want to run on four machines, we can split the input file into four parts, give 1/4 of the file to each machine, and let each machine loop over encode() for their portion of the file. Then take the output from each machine, put it in the right order, and write it out to a single output file. Done.
With such a scheme, the more work that you throw at it, the more efficient it will become.
Hence, trying this scheme with small MP3 files will probably not result in any noticeable speedup (in fact, it may be slower than running in serial, because of the added overhead for working in parallel). It is necessary to give the parallel engine enough work to offset the overhead added by the parallel framework. Generally, this is not very much overhead (read on to find out why), but parallel is not free.
Enhancements:
- Fixed minor error that caused an error message from MPICH when shutting down. Thanks to Gary Smith for pointing this out.
<<less
Download (0.22MB)
Added: 2006-07-18 License: LGPL (GNU Lesser General Public License) Price:
1193 downloads
Parallel::Workers::Transaction 0.0.7

Parallel::Workers::Transaction 0.0.7


Parallel::Workers::Transaction is a simple Perl module. more>>
Parallel::Workers::Transaction is a simple Perl module.

Parallel::Workers::Transaction requires no configuration files or environment variables.

<<less
Download (0.010MB)
Added: 2007-01-23 License: Perl Artistic License Price:
1004 downloads
paraget 0.3.0

paraget 0.3.0


Many times when one is downloading files from a ftp site, the bottleneck is at the servers end, because the server is handling more>>
Many times when one is downloading files from a ftp site, the bottleneck is at the servers end, because the server is handling many connections, even if the server has a greater bandwidth than the client. Popular programs are often mirrored at several sites, but this does not help the matter much; people tend to congregate at one site anyways.
Given that there are mirror-sites for the file one is downloading, one can in principle accomplish a much greater bandwidth by downloading from all the sites in parallel.
You can speed up your download if you are getting files from different sites in parallel. This is accomplished by dividing the file being fetched into several pieces, and by getting each piece from a different server, and then re-assembling them.
If there are enough mirror sites, this partitioning makes it so that the bottleneck is now placed at the client end, maxing the clients connection.
Hence, we arrive at paraget, a parallel ftp-fetching program. paraget is designed to not only do basic n-equal-piece partitioning of a file and sending requests out to n servers for data, but to also be dynamic during the downloading process. For example if one server is too slow, and paraget was done with faster server downloading its piece
Enhancements:
- Server statistics is now loaded correctly.
- Cleanup of temp files.
- Several undefineds in intervalmanager fixed.
- Now checks for size mismatches.
<<less
Download (0.031MB)
Added: 2006-06-14 License: GPL (GNU General Public License) Price:
1228 downloads
Parallel Network Scanner 1.11

Parallel Network Scanner 1.11


Parallel Network Scanner provides a fast network services scanner. more>>
Parallel Network Scanner provides a fast network services scanner.
pnscan is a scanner for TCP network services. It uses multithreading to increase its speed.
pnscan tries to be smart as to how many threads to start - it will dynamically start only as many as is needed to make progress in the scan - up to a maximum either as specified with the "-n" command line option, or 8 minus the maximum number of available file descriptors (pnscan tries to increase
it to the max limit automatically) - or any internal limit on the system (Linux normally only allows 256 threads).
Host ranges can be specified both as a CIDR - network name or IP address / mask bit length and as a range. When using CIDR notation - the first and last address is ignored (normally used for broadcasts)
Some examples:
192.168.0.0/24
192.160.0.1:192.160.0.254
arpanet/8
USAGE - EXAMPLES
# Scan network 192.168.0.0/24 for SSH daemons on port 22
pnscan 192.168.0.0/24 22
pnscan 192.168.0.1:192.168.0.254 ssh
# Scan hosts 192.168.10.34 ... 98 for IDENT servers, max 8 threads
pnscan -n8 -w"VERSION" 192.168.10.34:192.168.10.98 113
# Scan host 127.0.0.1 for WWW servers on all ports
pnscan -w"HEAD / HTTP/1.0rnrn" -r"Server:" 192.168.0.32 1:65525
pnscan -w"HEAD / HTTP/1.0rnrn" -r"Server:" localhost 1:65525
# Send binary data and expect the binary sequence FF 00 FF on port 145.
pnscan -W"05 5A 37" -R"FF 00 FF" 192.168.0.32 145
# Scan for Roxen servers and print the whole Server-line
pnscan -l -w"HEAD / HTTP/1.0rnrn" -r"Roxen" localhost 1:65525
# Scan for pidentd servers and try to locate the version
pnscan -w"VERSION" 192.160.0.0/24 113
# Scan network arpanet/24 for daytime servers and sort them IP-numerically
pnscan arpanet/10 daytime | ipsort
# Read host (&port) lines from stdin and scan the selected hosts for SSH
echo 192.160.10.11 ssh | pnscan -v
echo 192.160.10.12 | pnscan 22
Enhancements:
- pnscan.sgml Added the other options implemented in pnscan.c.
- pnscan.c: Modified the threads startup code to dynamically only start as many threads as is needed.
<<less
Download (0.014MB)
Added: 2007-03-12 License: Freeware Price:
958 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5