parallel-processing

What are the current best options for parallelizing a CPU-intensive .NET app?

This is an open-ended question. What approaches should I consider?...

What parallel programming model do you recommend today to take advantage of the manycore processors of tomorrow?

If you were writing a new application from scratch today, and wanted it to scale to all the cores you could throw at it tomorrow, what parallel programming model/system/language/library would you choose? Why? I am particularly interested in answers along these axes: Programmer productivity / ease of use (can mortals successfully use ...

Is it possible that F# will be optimized more than other .Net languages in the future?

Is it possible that Microsoft will be able to make F# programs, either at VM execution time, or more likely at compile time, detect that a program was built with a functional language and automatically parallelize it better? Right now I believe there is no such effort to try and execute a program that was built as single threaded prog...

MPI for multicore ?

With the recent buzz on multicore programming is anyone exploring the possibilities of using MPI ? ...

How does NUnit (and MSTest) handle tests that change static/shared variables?

I have some code that uses the shared gateway pattern to implement an inversion of control container. I have several hundred NUnit unit tests that exercises the code that uses this IOC. They all work (on my machine!) but I am concerned that these tests might fail under load. I seem to remember that NUnit (and MSTest) attempts to run t...

Which parallel programming APIs do you use?

Trying to get a grip on how people are actually writing parallel code currently, considering the immense importance of multicore and multiprocessing hardware these days. To me, it looks like the dominant paradigm is pthreads (POSIX threads), which is native on Linux and available on Windows. HPC people tend to use OpenMP or MPI, but th...

How would you simplfy Entering and Exiting a ReaderWriterLock?

This seems very noisy to me. Five lines of overhead is just too much. m_Lock.EnterReadLock() Try Return m_List.Count Finally m_Lock.ExitReadLock() End Try So how would you simply this? ...

How would you simply Monitor.TryEnter

This is even worse than the ReaderWriterLock in terms of noise. If Threading.Monitor.TryEnter(syncRoot) Then Try 'do something Finally Threading.Monitor.Exit(syncRoot) End Try Else 'do something else End If Both C# and VB solutions are welcome. ...

Unit Testing, Deadlocks, and Race Conditions

Any suggestions on how to write repeatable unit tests for code that may be susceptible to deadlocks and race conditions? Right now I'm leaning towards skipping unit tests and focusing on stress tests. The problem with that is you can run a stress test 5 times and see five different results. EDIT: I know its probably just a dream, but i...

How to paralleize search for a string in a file with a help of fork? (GNU Linux/g++)

This is how the situation looks: I got a text file with a couple of lines and I am looking for a string in this file. I need to pass following command line parameters to the program: - file path - the string I am looking for - maximum number of processes the program is allowed to "fork" in order to complete this task. How to such pr...

What are some practical problems that parallel computing, f#, and GPU-parallel processing might solve.

Recently WiFi encryption was brute forced by using the parellel processing power of the modern GPU http://is.gd/4fhb. What other real-life problems do you think will benefit from similar techniques? ...

What's the best way of executing tasks in parallel in Ksh and Perl?

I have this large C++ project that I need to build on a platform that does not have a parallel make (like make -j on Linux). The server has 6 CPU's and I want to do a parallel build manually. I can generate a task list like this for about 300 object files. I use the Makefile for the dependency checks and incremental build: make -f Mak...

Passing values with Parallel Extensions and VB.net

I am looking for an example of how to do the following in VB.net with Parallel Extensions. Dim T As Thread = New Thread(AddressOf functiontodowork) T1.Start(InputValueforWork) Where I'm getting stuck is on how to pass into the task my parameter InputValueforWork Dim T As Tasks.Task = Tasks.Task.Create(AddressOf functiontodowork) An...

What is the easiest way to parallelize my C# program across multiple PCs

I have many unused computers at home. What would be the easiest way for me to utilize them to parallelize my C# program with little or no code changes? The task I'm trying to do involves looping through lots of english sentences, the dataset can be easily broken into smaller chunks, processed in different machines concurrently. ...

Free OpenMosix replacement?

I was shocked to learn that OpenMosix is closed. Can you suggest any similar free tool for linux. For those who don't know, OpenMosix is a software package that turns networked computers running GNU/Linux into a cluster. It automatically balances the load between different nodes of the cluster, and nodes can join or leave the runni...

How to wait untill all child processes called by fork() complete?

Hi, I am forking a number of processes and I want to measure how long those it take to to complete the whole task, that is when all processes forked are completed. Please advise how to make the parent process to wait until all child process are terminated? I want tu make sure that I stop the time watch in the right moment. Here is as a...

Easy parallelisation

I often find myself writing simple for loops to perform an operation to many files, for example: for i in `find . | grep ".xml$"`; do bzip2 $i; done It seems a bit depressing that on my 4-core machine only one core is getting used.. is there an easy way I can add parallelism to my shell scripting? EDIT: To introduce a bit more contex...

What is a good textbook for Parallel Computing?

I am looking for a good textbook on Parallel Computing. Does anyone know any good textbooks on this subject. I would, also, prefer if this textbook covered parallel numeric techniques when solving partial differential equations. ...

RT parallel processing in Rails

I'm developing a sort of personalized search engine in Ruby on Rails, and I'm currently trying to find best way of sorting results depending on user's record, in real time. Example: items that are searched for can have tags (separate entities with ids), for example item has tags=[1, 5, 10, 23, 45]. User, on the other hand, may have fla...

Multithreaded image processing in C++

I am working on a program which manipulates images of different sizes. Many of these manipulations read pixel data from an input and write to a separate output (e.g. blur). This is done on a per-pixel basis. Such image mapulations are very stressful on the CPU. I would like to use multithreading to speed things up. How would I do th...