I’m currently a senior Computer Engineering Major beginning my Senior Design Project. I’ve recently become highly interested in the GPU computing/development field and was wondering if any had ideas for a senior CE major. So far, it seems doing something cryptography related would be a good road to go, but any ideas would be greatly appreciated.
If you closely look at the CUDA programming model , you can see that it is related to distributed computing:
Blocks execute independent of each other (Atomics and other serializing stuff are not really native to CUDA (in the purest sense)… They have been added to pacify the programmers)
It would be interesting to consider translating a CUDA program into an MPI program that can scale out…possibly even on nodes containing GPUs.
OR
At least make it multi-GPU enabled (if the program source code permits) by scheduling blocks on different GPUs through a middleware…
I am just thinking wild… May be, it would be cool to do that… Good enough for a univ degree.
We had two students doing a blood simulation in micro scale. It is quite difficult if you consider various types of blood cells: leukocytes, red blood cells, platelets, plasma, etc. It is funny to see them all mixed and running in vessels. And you have to do that really fast to get at least 20fps in 2D. One of the most important feature of that program was to see pressure on vessel walls.
(sorry for the language I am not a specialist in medical English External Image )