Category: Parallelization

smqsched – Simple Multi Queue Scheduler

smqsched – Simple Multi Queue Scheduler

smqsched Simple Multi Queue Scheduler smqsched is a simple multi-threaded task scheduling module with support for multiple queues and directed acyclic graph (DAG) dependencies. Introduction smqsched was designed with the following objectives in mind: Allow existing code to be parallelized without significant refactoring To this end, smqsched uses promise-style creation […]

Fast Discrete Approximation of Natural Neighbor Interpolation in 3D

Fast Discrete Approximation of Natural Neighbor Interpolation in 3D

Natural Neighbor is an interpolation scheme suitable for scattered data. It is based on weighted average approach and uses Voronoi diagram to determine relative contribution of given data points. Weights are defined as ratio of area “stolen” from known data points in the diagram by adding an interpolated data point […]

Cross-platform super lightweight one file qsub replacement

Useful for people running their jobs on UNIX clusters, who for some reason need from time to time to launch them on Windows with business logic similar to original qsub command. It works like this: starts an HTTP server which is running 8 worker threads (adjust to the max number […]

OpenMPI and Precomputed Values in Shared Memory

Think OpenMPI. Let’s say you have a 12-node cluster at your disposal. Every node has 16GB of RAM and two 4-core processors which in normal situations enables you to run 8 processes per node. What happens if you want to precompute a huge constant lookup table (e.g. 3GB in size) […]

Project Euler #300

In a very simplified form, we can consider proteins as strings consisting of hydrophobic (H) and polar (P) elements, e.g. HHPPHHHPHHPH. For this problem, the orientation of a protein is important; e.g. HPP is considered distinct from PPH. Thus, there are 2n distinct proteins consisting of n elements. When one […]

Paralell DP, BGL and other fun stuff ;)

I haven’t been posting for the past few days because I’ve been in Wrocław (Breslau) for the weekend and then I was kinda busy playing with new coding quests, this time from topcoder.com, my second big love after Project Euler (jeez, why nobody told me about these two before? 😉 […]

Open MPI convenience functions

I could start by lecturing you on the basics of usage and principles of operation of MPI and Open MPI in particular, but I think it might not be a good idea, because you (or even more probably me 😉 ) could get bored really quickly. To cut long story […]