47
edits
Line 105: | Line 105: | ||
:* '''If yes, what task did you choose? Please describe what part of it you especially want to focus on if you can already provide this information.''' | :* '''If yes, what task did you choose? Please describe what part of it you especially want to focus on if you can already provide this information.''' | ||
http://wiki.octave.org/Summer_of_Code_Project_Ideas#Improve_JIT_compiling | http://wiki.octave.org/Summer_of_Code_Project_Ideas#Improve_JIT_compiling | ||
::I choose “Improveing JIT compiling” project, focusing on “Enhance JITC functionality” and “Migrate from LLVM JIT to LLVM MCJIT”. Current JITC lacks some feature. | ::I choose “Improveing JIT compiling” project, focusing on “Enhance JITC functionality” and “Migrate from LLVM JIT to LLVM MCJIT”. Current JITC lacks some feature: Functions and exponents (e.g. 2^z) cannot compile with the JITC. I want to concentrate on expanding JITC to handle this non-trivial but fundamental case. | ||
::Second, I would begin to migrate from | ::Second, I would begin to migrate from JIT to MCJIT. JITC use JIT now, however LLVM community has no longer maintained JIT and move to MCJIT. I think we could move to MCJIT as well (but still support JIT). This is really important if we want to get the benefit from LLVM subsequently. | ||
::When all essential case | ::When all essential case is added, I would try to implement some JIT related optimization into JITC (like trace/method-based JIT). | ||
*'''Please provide a rough estimated timeline for your work on the task. This should include the GSoC midterms and personal commitments like exams or vacation ("non-coding time"). Optionally include two or three milestones you expect.''' | *'''Please provide a rough estimated timeline for your work on the task. This should include the GSoC midterms and personal commitments like exams or vacation ("non-coding time"). Optionally include two or three milestones you expect.''' | ||
:During GSoC period. I would focus on "Enhance JITC functionality". "Migrate from LLVM JIT to LLVM MCJIT" would be completed in free time. | :During the GSoC period. I would focus on "Enhance JITC functionality". "Migrate from LLVM JIT to LLVM MCJIT" would be completed in free time. | ||
:*[[Community Bonding Period]] '''(May 27 - Jun 16)''' | :*[[Community Bonding Period]] '''(May 27 - Jun 16)''' | ||
::Get to know mercury, octave JITC code base | ::Get to know mercury, octave JITC code base. Deploy development environment and create a wiki page/blog to record progress. | ||
:*[[Week 1]] '''(Jun 17 - Jun 23)''' | :*[[Week 1]] '''(Jun 17 - Jun 23)''' | ||
::Write a piece of code to prove how | ::Write a piece of code to prove how JITC compile functions. | ||
:*[[Week 2,3]] '''(Jun 24 - Jul 7)''' | :*[[Week 2,3]] '''(Jun 24 - Jul 7)''' | ||
::Implement the functionality that | ::Implement the functionality that JITC compile functions. | ||
:*[[Week 4,5]] '''(Jul 8 - Jul 21)''' | :*[[Week 4,5]] '''(Jul 8 - Jul 21)''' | ||
Line 126: | Line 126: | ||
:*[[Week 6]] '''(Jul 22 - Jul 28)''' | :*[[Week 6]] '''(Jul 22 - Jul 28)''' | ||
::Write document, wiki and | ::Write document, wiki and prepare for midterm evaluation. | ||
:*[[Week 7]] '''(Jul 29 - Aug 4)''' | :*[[Week 7]] '''(Jul 29 - Aug 4)''' | ||
::Write a piece of code to prove how | ::Write a piece of code to prove how JITC compile exponents. | ||
:*[[Week 8,9,10,11]] '''(Aug 5 - Sep 1)''' | :*[[Week 8,9,10,11]] '''(Aug 5 - Sep 1)''' | ||
::Implement the functionality that | ::Implement the functionality that JITC compile exponents. | ||
:*[[Week 12,13]] '''(Sep 2 - Sep 15)''' | :*[[Week 12,13]] '''(Sep 2 - Sep 15)''' | ||
Line 138: | Line 138: | ||
:*[[Week 14]] '''(Sep 16 - Sep 22)''' | :*[[Week 14]] '''(Sep 16 - Sep 22)''' | ||
::Write document, wiki and | ::Write document, wiki and prepare for final evaluation. | ||
:*[[Future]] '''(Sep 23 - )''' | :*[[Future]] '''(Sep 23 - )''' | ||
::Implement JIT related | ::Implement JIT related optimizations into JITC | ||
[[Category:Summer of Code 2013 Applicants]] | [[Category:Summer of Code 2013 Applicants]] |
edits