   Cuda Project: ideas?
  My professor gave us a final project to write a small cuda program, and that was pretty much it. The problem is I can't think of any really good programs that aren't already done in the CUDA SDK.I'm looking for a task that's not overly complicated (I initially wanted to write a particle system, but I didn't think I'd be able to learn the deep OpenGL->Cuda magic by next week to make it more efficient than doing all the computing on the CPU). Just figured I'd ask for ideas. I can't really think of anything else that impressive but not overly complicated for 2 weeks of work to do.   
  Probably not very interesting to you, but some sort of Monte Carlo method?  Perhaps pricing some sort of exotic option, like a Knock-Out Asian (assuming Geometric Brownian Motion)?  These sort of monte carlo computations are utilized all the time in investment banks, so you are solving a real and applicable problem -- and it shouldn't be too hard to implement.  Plus, they already have examples of monte carlo pricing in the CUDA examples, so you have a base to work from!   ;  How about a water/smoke simulation, or a simulation of an ocean?  I can't say I'm familiar with what has and hasn't been done with CUDA, but simulating something with fluid dynamics would be cool.   ;  As much as I would love to do smoke/liquid it runs into the same problem of the 2 week deadline as the particle system. I do really want to look into it after the semester is over though.@choffstein: could you go into a little more depth on that. It sounds reasonably interesting. I will google around abit on it.edit: @ choffstein specifically could you elaborate on how your stated method for monte carlo would differ from what the existing SDK example does?   ;  Well, the SDK examples are very, very basic examples.  They are not exotic options and they don't use variance reduction techniques (to reduce the standard error of the monte carlo method).You could implement some papers (Brownian Bridges by Beaglehole, Dybvig and Zhou or pricing american options by Longstaff & Schwartz would be interesting).  You could also implement some variance reduction techniques (antithetics, control variables, or importance sampling would be interesting).  These would be more advanced techniques that can still be done in parallel.If you want, I can send you vectorized matlab code for these topics with comments to explain how they work.  Since it is vectorized, it should be easy to make parallel on CUDA since each Monte Carlo path is independent from the others.   ;Quote:Original post by choffsteinWell, the SDK examples are very, very basic examples.  They are not exotic options and they don't use variance reduction techniques (to reduce the standard error of the monte carlo method).You could implement some papers (Brownian Bridges by Beaglehole, Dybvig and Zhou or pricing american options by Longstaff & Schwartz would be interesting).  You could also implement some variance reduction techniques (antithetics, control variables, or importance sampling would be interesting).  These would be more advanced techniques that can still be done in parallel.If you want, I can send you vectorized matlab code for these topics with comments to explain how they work.  Since it is vectorized, it should be easy to make parallel on CUDA since each Monte Carlo path is independent from the others.if you already have it finished I'd love to see it. Don't waste your time making it if you dn't have it already finished.We have the hill cipher as a backup if that doesn't work out.   