Hey guys!
I have a parallel programming class and we have to do a final project in which we can make whatever we want. In the class the professor used C# for the parallel program examples on a 4-cored computer. I want to make a project with C/C++ and use CUDA to smoke his bitch ass little C# programs.
The problem is that I have no idea what exactly I could make and I humbly ask for your suggestions. Keep in mind that I have very limited time so no *too* complex projects are preferable.
Cheers!
EDIT: Also the project has to display the difference in time efficiency for a sequentially executed program and a parallel one.
Parallel programming class project
Re: Parallel programming class project
One fun thing me and Lundis used to "battle" in (maybe you too? I don't remember everyone who did it) was who could write the fastest word generator.
Basically a generator that creates all the words from length 1 - X with char set a-zA-Z0-9 as fast as possible.
Basically a generator that creates all the words from length 1 - X with char set a-zA-Z0-9 as fast as possible.
"The best place to hide a tree, is in a forest"
- floodhound2
- ∑lectronic counselor
- Posts: 2117
- Joined: 03 Sep 2006, 16:00
- 17
- Location: 127.0.0.1
- Contact:
Re: Parallel programming class project
Am I wrong to assume (and this is perhaps off topic) that parallel processing is great but the answer is always serial?
Complex parallel processing of matrices can be done with hundreds of answers or scenarios as the result, so is it really beneficial or better?
I suppose if you had a thousand logic statements that resulted in a 1 or 0 then perhaps so, but someplace in the code the paralleling had to wait for some other process making it not a true parallel process.
Complex parallel processing of matrices can be done with hundreds of answers or scenarios as the result, so is it really beneficial or better?
I suppose if you had a thousand logic statements that resulted in a 1 or 0 then perhaps so, but someplace in the code the paralleling had to wait for some other process making it not a true parallel process.
₣£ΘΘĐĦΘŮŇĐ
Re: Parallel programming class project
Interesting suggestion, I could do that for fun if anything. But for the project I'd like it to be a little more complex, a scenario where I could use locks etc.cats wrote:One fun thing me and Lundis used to "battle" in (maybe you too? I don't remember everyone who did it) was who could write the fastest word generator.
Basically a generator that creates all the words from length 1 - X with char set a-zA-Z0-9 as fast as possible.
You're right, most of the time the program is serial, but it's not always the case. A simple example would be adding up all the elements of N arrays with N threads, but usually there's more to it and the next thread needs to wait for those N threads to finish their calculations in order to use the results.floodhound2 wrote:Am I wrong to assume (and this is perhaps off topic) that parallel processing is great but the answer is always serial?
Complex parallel processing of matrices can be done with hundreds of answers or scenarios as the result, so is it really beneficial or better?
I suppose if you had a thousand logic statements that resulted in a 1 or 0 then perhaps so, but someplace in the code the paralleling had to wait for some other process making it not a true parallel process.
The part that's waited for is called critical section. But parallel processing is usually beneficial if you have a lot of instruction. The benefit is calculated with Amdahl's law.