-
Notifications
You must be signed in to change notification settings - Fork 0
Report outline
This page is meant as a kind of top-down report specification/disposition. It should list each of the parts/chapters/sections to be present in the report, and how they should support or illuminate the argument of the report. From this document you should be able to get an overview of the report structure.
- [Done] What does the report contain
- [Almost done] Who have contributed
- [Done] Argue that this is a relevant field of study
- Explain our project on a high level
- Argue that this is a relevant project
- Explain our approach
- Summarise our contributions
- Outline report structure
- [Done] Introduce option pricing
- Argue that optimizing the way option pricing is performed is a relevant problem
- [Done] Introduce binomial option pricing
- [Done] Simple parallel algorithm
- [Martin] CUDA algorithm for binomial pricing of portfolios
- Argue that binomial option pricing is a practically relevant case
- [Done] Introduce Longstaff & Schwartz option pricing
- Argue that Sobol sequence generation is a practically relevant case
- [Martin, almost done] Sobol sequence generation
- [Done] Note on Uniform -> Normal distribution
- [Martin] Least Squares
- Portfolio pricing (Binomial)
- Portfolio pricing Longstaff & Schwartz
- Argue for the selection of Nikola, Accelerate, Repa
- Argue for the deselection of Obsidian, Feldspar, etc.
- Argue for our chosen parameters of comparison
- [Almost done] Tabulation of collected metrics
- Discussion of collected metrics
- (Conclusion of project health section)
- Hardware description
- Presentation of implemented experiments
- Presentation of performance data. Graphs.
- Discussion of performance data. Give plausible explanations.
- (Conclusion)
-
Discussion
-
[Martin] Argue that existing Nikola & Accelerate are hampered by lack of nesting. Display it using our cases that how the programmer must work around the restriction (eg. by rewriting nested maps to use replicate and multidimensional maps in accelerate).
-
[Martin] Argue for our choice of Nikola as our subject for further extensions. (eg. by deeming the
Acc/Expstructure of accelerate too limiting.)
-
-
Display other problems we have found:
- Nikola: Runtime compilation errors
- Nikola, Accelerate: Very complex types in embeddings.
-
(Maybe conclusion)
- Summarise our findings in the survey
- List noteworthy bugs encountered in survey
- Argue that Nikola is interesting to contribute to
-
[Philip, almost done] Frontend architecture.
- Still needs: Description of RebindableSyntax. Needs to mention ability to program in Monad P, and that this is explained in the backend section.
-
Backend architecture (Or shift/reset/CPS)
- Still needs: Monad (R r), shift/reset/continuation based code generation explanation. How the components of the backend interact during compilation.
-
[Philip, almost done] Module reference
- Still needs: Section on shift/reset/Monad (R r) (shouldn't be much more than type signatures).
- Motivate the presence of fold, unfold and nested maps.
- Describe implementation. Remark that it is still yet to be tested.
- Evaluate by examples.
-
[Philip] Present
sequentialHere we should describe thesequentialoperator, and how it changes the execution model, and how it alleviates the problem of nested operations. - Discussion of implementation approaches (typed/untyped?)
- Evaluation
- Evaluate expressivity (and versatility) by giving examples, eg. portfolio pricer? multi-dimensional sobol.
- Remark that it still needs to be tested in practice in order to see if it actually works.
- Summarise contributions
- Remark what we think should have been included/investigated/demonstrated for arriving at a more complete contribution
- Identify future work