0
3

[–] redditor1255 0 points 3 points (+3|-0) ago 

In college I used them all the time on a proper massively parallel computer.

MCNPX and GEANT4 are two parallel programming dependent applications you can get your hands on for testing. MCNPX is a monte carlo code for nuclear reactions, you'll need to apply for it through RSICC. GEANT4 is a general particle physics simulator, you can download it here.

Then, there was that project. One of my senior projects was actually a parallel optimization of an orbit path. My partner only knew MATLAB, so that's what we used. It was a 6 DOF system that was optimized using a genetic algorithm. Pretty straightforward until it wasn't. We ended up heavily "fixing" a bunch of code off the internet. We had 40 computers in our computer lab functioning as a parallel work environment from 2AM to 8AM every day. There was one master computer that would leave "generic tasks" in the form of files on the lab network drive. The 40 something slave computers would pick up the task files, compute them, then put them back. Then the master computer would pick up the completed task files and record the results into the final solution. I'm super proud of how it turned out, we were able to generate live frame-by-frame visuals of the optimization of the orbits over the Earth.

0
0

[–] JeffreyARobinson [S] 0 points 0 points (+0|-0) ago 

That is pretty awesome, I have no computers in my lab that can do anything cool like that.

0
3

[–] bonesplints 0 points 3 points (+3|-0) ago 

I use them fairly intensively at work. We are trying our best to utilize as much of the hardware as we can, so going wide is in our best interest.

0
3

[–] Vancandybestcandy 0 points 3 points (+3|-0) ago 

I don't, and never use them or know what they are. Just contributing because I'm bored.

0
1

[–] JeffreyARobinson [S] 0 points 1 points (+1|-0) ago 

They are just algorithms/data-structures which use multiple threads/processors.

0
1

[–] Earl_Harbinger 0 points 1 points (+1|-0) ago 

Discounting the college years, during 7 years of professional business programming, just once. It ended up not being used.

0
1

[–] revfredsanford 0 points 1 points (+1|-0) ago 

15 years professional programming experience, another 10 years hobby and educational programming experience prior to that, and I have never explicitly used parallel algorithms nor threading outside of academia.

0
0

[–] tribblepuncher 0 points 0 points (+0|-0) ago  (edited ago)

Aside from school projects, I can't think of one case. Even in school it was rare for almost all classes.

I think they're probably useful in some highly computationally-intensive situations, but in a lot of cases they're more trouble for the programmer than they're worth, and there isn't necessarily that much of a difference that is noticeable to the end user in many use cases, if nothing more than for the fact that the user isn't using a large enough data set for a major impact most of the time. A typical desktop or smartphone app user is probably not sorting huge data sets that often, for instance (although it does happen). I'm also of the opinion that the overhead of introducing threads discourages their use; it's possible that language alterations might be helpful in adopting this, if you can come up with some that don't feel tacked on or retain the complexity of a thread library, or results in an entire new language that feels vaguely bloat-y and probably brings the baggage of interpreted languages.

Just my $.02, I'm pretty darn rusty.

0
0

[–] loki0 0 points 0 points (+0|-0) ago 

I've used them quite often at work. In one project I used Pegasus to run connected components in hadoop. I had also looked at GraphChi for this, which I also ended up using later to implement a graph contraction algorithm. Besides those uses I often have dev ops types tasks that can be automated and sped up through use of multi threading, usually I leverage parallel and xargs if it's simple enough, or Python pools if it needs to be more complex.

0
0

[–] hopo 0 points 0 points (+0|-0) ago 

Outside of a college course on parallel programming, I've used it once on a side project that I still haven't gotten around to completing.

However, while using it during that course, I've always found it interesting using it in conjunction with image processing.

load more comments ▼ (1 remaining)