James Shirley added 9971363906630504.tex  about 11 years ago

Commit id: a499b45c736b0cda51511a17d2247d3676ee0b34

deletions | additions      

         

Our efforts to create a parallel version of the BayesC algorithm used in GenSel have not been very successful so far.     Creating an entirely new kernel for the algorithm has been especially time consuming and difficult. The complexity of the singly threaded application and its many dependencies on third party libraries that simply do not interface well with the CUDA kernel launching mechanisms has made this task difficult to accomplish.     The cuBLAS libraries offered a simple to use way of making linear algebra (such as the dot product example we explored) run in parallel on the many cores of a GPU. These libraries, although useful, may not be applicable to our project. As far as we can tell there are no large matrix multiplications and the most calculation is a vector dot product. These calculations can be done in parallel quite easily and very quickly however they are not very computationally expensive whether they are done in parallel or not. In are case, it would appear that the cost of moving memory from the CPU to the GPU (and back) was greater than the benefit we received in doing the calculation on the GPU. In the future we may explore more lightweight ways of doing linear algebra in parallel such as on each core on a multi-core CPU using OpenMP.