From: vivek s. <viv...@gm...> - 2014-03-14 04:01:41
|
Hello all, I am working towards participating in GSoC 2014 on the project "*Optimization of parallel computation in MOOSE*". I have been corresponding with Mr. Subhasis Ray for a few weeks now, and have got a basic idea of how to create new classes in MOOSE. I am working on a proposal for the GSoC application, a major part of which is the schedule with proposed milestones. This is what I have come up with so far: - · May 19 - May 26: *Reading up Literature* - Praveen (the student who worked on GPU implementation last year) suggested I read up *The book of GENESIS* to get a good idea of how Neural Network Simulators are built. Considering I have no prior knowledge in this field, I think that this, along with other literature on such simulators, will help me understand the concepts I will need. I have already begun reading it, and it has already provided a lot of perspective on what I will be working on. I will be getting started on this well before the beginning of the coding period (May 19). - · May 27 - June 4:* Vacation* - I plan to do a long distance cycling trip over 10 days during this time. Still figuring out the logistics. Most probably from Bangalore to Goa! J - · June 5 - June 11: *Brushing up parallel programming concepts* - With a decent idea of the sort of problems Neural Network Simulators try to solve, I think now would be a good time to look up all the concepts of parallel programming that I will need to implement parallelization. I have done some work in parallel programming before using OpenMP and CUDA, but brushing up my concepts with a clear requirement in mind will definitely help ease writing code as I move forward. - · June 12 - June 20 : *Praveen's Implementation* - I think Praveen's implementation of the Hines' Solver will be a good place to start familiarizing myself with the code. He has provided a general overview of the work he did, and his code itself. Hopefully, those resources (along with some help from the mentors) will be enough to understand the implementation. I understand that this code hasn't been committed to the main repository yet, and would love to be able to polish it and commit (Although this is most certainly an extended goal). - · June 21 - June 30 : *Implementing Hsolve* - By the halfway point of the program, I hope to have completed implementation of the Hines' Solver. I don't know exactly what this will entail. Praveen mentions buffering neuron spikes. From what I understood reading the sourceforge wiki, this involves only "Cable Equations and biophysical calculations". Do correct me if I am wrong. - · July 1 - July 31 : *Implementating another component* - After this point, my understanding of what needs to be done and what can be done is very sketchy. I would like to parallelize at least one more component of the system, but am not sure exactly what that will be. The wiki mentions "Single neuron branched reaction-diffusion calculations" and "3D reaction diffusion calculations", so maybe one of those. Another possibility is parallelization of a different solver. I will need some help figuring this out. Also, please note that I will be out for a week or so at some point during the month. - · August 1 - August 18 : *Cleaning up* - I thought that I should allow for some time to polish up my code, make it readable, and make sure all documentation is up to date. This will ensure that the code is clean before I commit it to the main repo. This time will also act as a buffer period in case there is some bit of implementation remaining. There are a few rough edges in this schedule, so I was wondering if I could get feedback on it and some help with filling in the holes. Thanks Vivek |