You have two parts to your problem. Playing the actual audio files, and controlling when they will be played. There are many, many FOSS solutions for getting audio out of a PC with multitrack cards. Where things get messy is the control interfaces. Its going to be hard to find an interface that will do what you want for your price point. On the other hand, there are plenty of inexpensive (
Check out Richmond Sound Design's offerings. They have a fairly robust audio and show control engine that can handle a large number of channels of both prerecorded and live audio, and can be controlled by a variety of free (as in beer), free (as in speech), and proprietary interfaces, both locally and over the network, along with things like MIDI.
A second option, that may or may not work (it will support the hardware but possibly not the use case) is Show Cue Systems . I've used this one for running lights/video/sound fx for musicals.
I was implying I wanted one of each - a copy of the work in its preferred analog or digital form, and a secondary copy in the other form at the highest quality conversion now available for future proofing - see NASA's issues when they found the moon landing tapes but didn't have a player that could play them. I choose film and phonograph because they are so simple to play back that no esoteric knowledge such as how vertical helix scan works or just what the heck side scan was is needed to recover information.
So, for example - for a new album, I'd want a copy of the digital masters, and a record. 2 copies, different formats. One is ideal for duplication, playback, and distribution, the other is proof against codecs, knowledge, or hardware being lost
Use a live CD. 10 years ago when I was a Freshman at RPI, everyone taking Calculus 1 or 2 had to take this online Gateway exam which then set the ceiling on your course grade. (A C on Gateway meant you could not earn better than a C in the course, but an A would not change your C average one bit).
To administer the exam, the CS department sysadmin made a FreeBSD 4.x live CD that had Netscape 4.x as the sole application launched via Xinit with no window manager. Quitting Netscape triggered the shutdown process and ejected the CD. I don't remember the rest of the details about how they prevented Internet usage, I have a sneaky suspicion they messed with the DNS servers and routing tables so it was nearly impossible to go to a site other than the browser home page.
Given the advancements in Live CD technology in last 11-12 years, it should not be hard to make an Ubuntu or Knoppix or Gentoo LiveCD that boots and has your app as the only app on the CD, thus satisfying the rules of no modifications to the testing computers and not allowing outside resources to the test takers.
How does the app parallelize? Is each process/thread dependent on every other process/thread or is it a 1000 processes flying in close formation that all need to complete at the same time but don't interact with each other? How embarrassingly parallel is embarrassingly parallel? Is that 512MB requirement per process or the sum of all processes?
GPUs might not be the right solution for this. GPUs are excellent for parallelizing some operations but not others. Have you done any benchmarks? Throwing lots of CPU at the problem may be the right solution depending on the algorithms used and how well they can be adapted for a GPU, if they can be adapted for a GPU.
For the $10K-$15K USD range, I'd look at Supermicro's offerings. You have options ranging from dual socket 16 core AMD systems with 2 Teslas to quad socket AMD systems to quad socket Intel solutions to dual socket Intel systems with 4 Tesla cards.
Do some testing of your code in various configurations before blindly throwing hardware at the problem. I support researchers who run molecular dynamics simulations. I've put together some GPU systems and after testing, it was discovered that for the calculations they are doing, the portions that could be offloaded to their code only accounted for at most 10% of the execution time, with the remainder being operations that the software packages could only do on CPU.
In a consumer society there are inevitably two kinds of slaves: the prisoners of addiction and the prisoners of envy.