13 projects tagged "parallel"
GNU parallel is a shell tool for executing jobs in parallel locally or using remote computers. A job is typically a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. If you use xargs today you will find GNU parallel very easy to use, as GNU parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. If you use ppss or pexec you will find GNU parallel will often make the command easier to read. GNU parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU parallel as input for other programs.
Flashrom is a utility for reading, writing, erasing, and verifying flash ROM chips. It's often used to flash BIOS/coreboot/firmware/EFI images. It supports a wide range of DIP32, PLCC32, DIP8, SO8/SOIC8, and TSOP32/40/48 chips, which use various protocols such as LPC, FWH, parallel flash, or SPI. The tool can be used to flash BIOS/firmware images, for example, be it proprietary BIOS images or coreboot (previously known as LinuxBIOS) images. It can also be used to read the current existing BIOS/firmware from a flash chip.
BurnerOnFire is a multi-threaded program that can write the same content to multiple CD/DVD burners simultaneously. It is currently developed and tested only on Debian and only supports content in the form of ISO files. It uses D-Bus/HAL specification to interact with hardware. It spawns subprocesses that wrap around the command line program Wodim. BurnerOnFire has both CLI and GUI (GTK+) interfaces.
Multicrush is a wrapper around pngcrush that distributes the work of brute-force compressing a single image over several pngcrush processes. This gets you a slightly less than a linear speedup, caused by different compression methods having slightly different durations. For example, the author has measured a speedup of 1.92 on a 2-core Intel T5300, and 3.86 on a 4-core Intel Q6600. The only requirements are a copy of pngcrush and at least Python 2.4. If you have version 2.6 or higher, multicrush can automatically detect how many CPUs to use.
Charm++ is a portable adaptive runtime system for parallel applications. Application developers create an object-based decomposition of the problem of interest, and the runtime system manages issues of communication, mapping, load balancing, fault tolerance, and more. Sequential code implementing the methods of these parallel objects is written in C++. Calls to libraries in C++, C, and Fortran are common and straightforward. Charm++ is portable across individual workstations, clusters, accelerators (Cell SPEs and GPUs), and supercomputers such as those sold by IBM (Blue Gene, POWER) and Cray (XT3/4/5/6). Applications based on Charm++ are used on at least 5 of the 20 most powerful computers in the world.
OpenMPF is a library for solving large, dense, multi-RHS linear systems. It is based on MPI/openMP parallelism, and relies on BLAS/LAPACK/MUMPS for the single node computations. It implements direct and iterative solvers, out-of-core matrices and vectors, and is easily accessible through a Python interface.
Elemental is a C++ framework for distributed-memory dense linear algebra that strives to be fast, portable, and programmable. It can be thought of as a generalization of PLAPACK to element-by-element distributions that also makes use of recent algorithmic advances from the FLAME project. Elemental usually outperforms both PLAPACK and ScaLAPACK, however, it heavily relies on MPI collectives so a good MPI implementation is crucial. Both pure MPI and hybrid OpenMP-MPI configurations are supported.
Moscrack is a WPA cracker for use on clusters. It supports MOSIX, SSH, and RSH connectivity and works by reading a word list from STDIN or a file, breaking it into chunks, and passing those chunks off to separate processes that run in parallel. The parallel processes are then executed on different nodes in your cluster. All results are checked and recorded on your master node. Logging and error handling are taken care of. It is capable of running reliably for long periods of time, without the risk of losing data or having to restart. Moscrack uses aircrack-ng by default. Pyrit for WPA cracking and Dehasher for Unix password hashes are supported via plugins.