User:LYH: Difference between revisions

Jump to navigation Jump to search
211 bytes added ,  30 November 2013
no edit summary
No edit summary
 
(8 intermediate revisions by one other user not shown)
Line 69: Line 69:
== O: Only out of interest ==
== O: Only out of interest ==
* '''Did you ever hear about Octave before?'''
* '''Did you ever hear about Octave before?'''
:Yes I did.
** '''If so, when and where? How far have you been involved already?'''
** '''If so, when and where? How far have you been involved already?'''
::Yes, I noticed Octave when I used proprietary Matlab in my school last year.
::I noticed Octave when I used proprietary Matlab in my school last year.


** '''What was the first question concerning Octave you could not find an answer to rather quickly?'''
** '''What was the first question concerning Octave you could not find an answer to rather quickly?'''
Line 78: Line 79:
* '''Please state the operating system you work with.'''
* '''Please state the operating system you work with.'''
** '''If you have access to more than one, please state them and the conditions under which you are granted this access.'''
** '''If you have access to more than one, please state them and the conditions under which you are granted this access.'''
::Usually Linux. But I could work with Mac OSX and Windows if I need to test on variant platform.
::Usually Linux. But sometimes I work with Mac OSX and Windows if I need to test a program on variant platforms.


* '''Please estimate an average time per day you will be able to ''(if separated)'' access'''
* '''Please estimate an average time per day you will be able to ''(if separated)'' access'''
Line 93: Line 94:
== S: Self-assessment ==
== S: Self-assessment ==
* '''Please describe how useful criticism looks from your point of view as committing student.'''
* '''Please describe how useful criticism looks from your point of view as committing student.'''
:It's essential that make me better.
:Concrete and clear. Sometimes with example.  


* '''How autonomous are you when developing?'''
* '''How autonomous are you when developing?'''
:Give me a project direction. I could find what I need from Google, Stack Overflow, IRC and mailing list. If information is not available on web or book, I would rely on my background knowledge to analyze problem and further solve it. 
:* '''Do you like to discuss changes intensively and not start coding until you know what you want to do?'''
:* '''Do you like to discuss changes intensively and not start coding until you know what you want to do?'''
:* '''Do you like to code a proof of concept to 'see how it turns out', modifying that and taking the risk of having work thrown away if it doesn't match what the project or original proponent had in mind?'''
:* '''Do you like to code a proof of concept to 'see how it turns out', modifying that and taking the risk of having work thrown away if it doesn't match what the project or original proponent had in mind?'''
::I like to dicuss direction first and reinterpret in my words. Then ask others whether I understand well. And I would start to write small program to prove my concept. If the work doesn’t match the goal, I would thrown it away early rather then coding for thousands of code and hard to debug.
::I like to dicuss direction first and reinterpret in my words. Then ask others whether my understanding is correct. And I would start writing small program to prove my concept. If the work doesn’t match the goal, I would thrown it away early rather then coding for thousands of code and hard to debug.


== Y: Your task ==
== Y: Your task ==
* '''Did you select a task from our list of proposals and ideas?'''
* '''Did you select a task from our list of proposals and ideas?'''
:Yes I did.


:* '''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. In addition disablility of built-in function linking, JITC cannot work with matrices data type but only scalar type. I want to concentrate on expanding JITC to handle this non-trivial but fundamental case.  
::I selected “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 LLVM JIT to LLVM MCJIT. JITC use JIT now, however LLVM community has no longer maintain JIT and move on MCJIT. I think we could move on MCJIT (and still support JIT). This is really important if we want to get the benefit from LLVM subsequently.
::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 has been added, I would try to implement some JIT related optimization into JITC (like trace/method-based JIT).
::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, deploy development environment and create a wiki to record progress.
::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 to link JITC with built-in function.
::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 link JITC with built-in function.
::Implement the functionality that JITC compile functions.


:*[[Week 4,5]] '''(Jul 8 - Jul 21)'''
:*[[Week 4,5]] '''(Jul 8 - Jul 21)'''
Line 126: Line 129:


:*[[Week 6]] '''(Jul 22 - Jul 28)'''
:*[[Week 6]] '''(Jul 22 - Jul 28)'''
::Write document, wiki and prepared for midterm evaluation.
::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 to JITC work with matrices.
::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 link JITC work with matrices.
::Implement the functionality that JITC compile exponents.


:*[[Week 12,13]] '''(Sep 2 - Sep 15)'''
:*[[Week 12,13]] '''(Sep 2 - Sep 15)'''
Line 138: Line 141:


:*[[Week 14]] '''(Sep 16 - Sep 22)'''
:*[[Week 14]] '''(Sep 16 - Sep 22)'''
::Write document, wiki and prepared for final evaluation.
::Write document, wiki and prepare for final evaluation.


:*[[Future]] '''(Sep 23 - )'''
:*[[Future]] '''(Sep 23 - )'''
::Implement JIT related optimization into JITC
::Implement JIT related optimizations into JITC


[[Category:Summer of Code 2013 Applicants]]
[[Category:2013]]
[[Category:Applicants]]
501

edits

Navigation menu