Community Bonding Period
- Compiled working version of BRL-CAD with OpenCL on Ubuntu 18.04
- Got familiarised with the MGED commands and the sequence of code being called from the build
- Checked out other primitives which have been parallelized and their structure
- Week - 1 (June 1 - June 5)
- June 1: Working on getting ARBN primitive parallelized via OpenCL
- June 6: Submitted patch for review (June 6)
- Week - 2 (June 8 - June 12)
- June 8: Working on getting PIPE primitive parallelized via OpenCL
- June 9: Worked on discont_radius_shot() function
- June 10: Worked on bend_pipe_shot() function
- June 12: Worked on linear_pipe_shot() function
- Week - 3 (June 15 - June 19)
- June 15: Worked on pipe_start_shot() and pipe_end_shot() function
- June 17: Assembled all in pipe_shot() function
- June 19: Fixed a few bugs in pipe_shot() file
- Week - 4 (June 22 - June 26)
- June 22: Submitted the PIPE patch file in sourceforge
- June 23: Started working on Dispalcement Map primitive
- June 24: Worked on dsp_in_rpp() function
- June 26: Worked on recurse_dsp_bb() function
- Week - 5 (June 29 - July 03)
- June 29: Got stuck in recurse_dsp_bb() function
- July 1: First Evaluation Feedback
// Kept DSP primitive on hold owing to it's complex structure. Once I get used to the simple primitives, I'll be in a better position to work on DSP primitive. Hence, have kept it for the last month.
- July 3 : Started working on Volume primitive
- Week - 6 (July 6 - July 10)
- July 6: Completed rt_vol_shot() and rt_vol_norm() function
- July 8: Resolved few bugs
- July 9 - 10: Took a break for travelling to hometown owing to Covid-19
- Week - 7 (July 13 - July 17)
- July 13: Submitted patch for Volume primitive
- July 14: Started working on Metaball primitive
- July 15: Converted secondary function: rt_metaball_point_value_iso()
- July 16: Converted secondary function: rt_metaball_find_intersection()
- July 17: Implemented rt_metaball_shot() in metaball_shot.cl file
- Week - 8 (July 20 - July 24)
- July 20: Completed rt_metaball_norm() function. Read about the inline functions being used here and it's possible counterpart and usage in OpenCL. It seems I can merge rt_metaball_norm_internal() into the norm method.
- July 21: Seems like there were two versions of the algorithm, only one of which was being used. Have removed the old version code from metaball_shot.cl file to remove redundancy.
- July 22: Submitted metaball primitive here: https://sourceforge.net/p/brlcad/patches/548/ . I made a typo mistake while developing a patch, I've resubmitted it. Use the latest patch in comments section. Onto EBM primitive now!
- July 23: The -z flag worked FINALLY! I though of giving it a try once again today and it worked. I'd to change the FindOpenCL.cmake file locally to ensure it catches the correct path of OpenCL directory. This has indeed solved a big problem of mine. I'll revisit the previous patches now and update them accordingly. Will also include a detailed documentation of the commands and resolution of the errors I faced for future reference soon.