11. Bibliography

ABegotB+16

Christian Andreetta, Vivien Bégot, Jost Berthold, Martin Elsman, Fritz Henglein, Troels Henriksen, Maj-Britt Nordfang, and Cosmin E Oancea. Finpar: a parallel financial benchmark. In ACM TACO. 2016.

Ann18

Danil Annenkov. Adventures in Formalisation: Financial Contracts, Modules, and Two-Level Type Theory. PhD thesis, Department of Computer Science, Faculty of Science, University of Copenhagen, April 2018.

Bir87

R. S. Bird. An Introduction to the Theory of Lists. In NATO Inst. on Logic of Progr. and Calculi of Discrete Design, 5–42. 1987.

Ble90

Guy E Blelloch. Vector models for data-parallel computing. Volume 75. MIT press Cambridge, 1990.

BHS+94

Guy E Blelloch, Jonathan C Hardwick, Jay Sipelstein, Marco Zagha, and Siddhartha Chatterjee. Implementation of a Portable Nested Data-Parallel Language. Journal of parallel and distributed computing, 21(1):4–14, 1994.

Ell03

Conal Elliott. Functional images. In The Fun of Programming, “Cornerstones of Computing” series. Palgrave, March 2003. URL: http://conal.net/papers/functional-images/.

Els98

Martin Elsman. Polymorphic equality—no tags required. In Second International Workshop on Types in Compilation (TIC'98). March 1998.

Els99

Martin Elsman. Static interpretation of modules. In Procedings of Fourth International Conference on Functional Programming (ICFP'99), 208–219. ACM Press, September 1999.

Els05

Martin Elsman. Type-specialized serialization with sharing. In Sixth Symposium on Trends in Functional Programming (TFP'05). September 2005.

EHAO18

Martin Elsman, Troels Henriksen, Danil Annenkov, and Cosmin E. Oancea. Static interpretation of higher-order modules in Futhark: functional GPU programming in the large. Proc. ACM Program. Lang., 2(ICFP):97:1–97:30, July 2018. URL: http://doi.acm.org/10.1145/3236792, doi:10.1145/3236792.

Fly72

Michael J. Flynn. Some computer organizations and their effectiveness. IEEE Transactions of Computers, 21(9):948–960, September 1972.

GHK+11

Benedict Gaster, Lee Howes, David R. Kaeli, Perhaad Mistry, and Dana Schaa. Heterogeneous Computing with OpenCL. Morgan Kaufmann, September 2011. Second Edition.

Hen17

Troels Henriksen. Design and Implementation of the Futhark Programming Language. PhD thesis, University of Copenhagen, Universitetsparken 5, DK-2100 Copenhagen, 11 2017.

HDU+16

Troels Henriksen, Martin Dybdal, Henrik Urms, Anna Sofie Kiehn, Daniel Gavin, Hjalte Abelskov, Martin Elsman, and Cosmin Oancea. APL on GPUs—a TAIL from the past, scribbled in Futhark. In Proceedings of the 5th ACM SIGPLAN workshop on Functional High-Performance Computing (FHPC'16). ACM, September 2016.

HEO14

Troels Henriksen, Martin Elsman, and Cosmin E Oancea. Size slicing: a hybrid approach to size inference in Futhark. In Proceedings of the 3rd ACM SIGPLAN workshop on Functional High-Performance Computing (FHPC'14), 31–42. ACM, 2014.

HEO18

Troels Henriksen, Martin Elsman, and Cosmin E. Oancea. Modular acceleration: tricky cases of functional high-performance computing. In Proceedings of the 7th ACM SIGPLAN International Workshop on Functional High-Performance Computing, FHPC 2018. New York, NY, USA, 2018. ACM.

HLO16

Troels Henriksen, Ken Friis Larsen, and Cosmin E Oancea. Design and GPGPU performance of Futhark's redomap construct. In Proceedings of the 3rd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming, 17–24. ACM, 2016.

HO14

Troels Henriksen and Cosmin E Oancea. Bounds checking: an instance of hybrid analysis. In Proceedings of ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming (ARRAY'14), 88. ACM, 2014.

HO13

Troels Henriksen and Cosmin Eugen Oancea. A T2 graph-reduction approach to fusion. In Proceedings of the 2nd ACM SIGPLAN workshop on Functional High-Performance Computing (FHPC'13), 47–58. ACM, 2013.

HSE+17

Troels Henriksen, Niels G. W. Serup, Martin Elsman, Fritz Henglein, and Cosmin E. Oancea. Futhark: purely functional GPU-programming with nested parallelism and in-place array updates. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017, 556–571. New York, NY, USA, 2017. ACM. URL: http://doi.acm.org/10.1145/3062341.3062354, doi:10.1145/3062341.3062354.

HTEO19

Troels Henriksen, Frederik Thorøe, Martin Elsman, and Cosmin E. Oancea. Incremental flattening for nested data parallelism. In Proceedings of the 24th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP '19. ACM, February 2019.

Hov18

Anders Kiel Hovgaard. Higher-order functions for a high-performance programming language for GPUs. Master's thesis, Department of Computer Science, Faculty of Science, University of Copenhagen, Universitetsparken 5, DK-2100 Copenhagen, May 2018.

HHE18

Anders Kiel Hovgaard, Troels Henriksen, and Martin Elsman. High-performance defunctionalization in Futhark. In Symposium on Trends in Functional Programming (TFP'18). September 2018.

Ken04

Andrew J. Kennedy. Functional pearl: pickler combinators. Jounal of Functional Programming, 14(6):727–739, November 2004.

LH17

Rasmus Wriedt Larsen and Troels Henriksen. Strategies for regular segmented reductions on GPU. In Proceedings of the 6th ACM SIGPLAN International Workshop on Functional High-Performance Computing, FHPC 2017, 42–52. New York, NY, USA, 2017. ACM. URL: http://doi.acm.org/10.1145/3122948.3122952, doi:10.1145/3122948.3122952.

Moo65

Gordon E. Moore. Cramming more components onto integrated circuits. Electronics, 38(8):114–117, April 1965.

Moo75

Gordon E. Moore. Progress in Digital Integrated Electronics. In Technical Digest 1975, 11–13. IEEE, 1975. International Electron Devices Meeting.

NBGS08

John Nickolls, Ian Buck, Michael Garland, and Kevin Skadron. Scalable parallel programming with cuda. Queue, 6(2):40–53, March 2008. URL: http://doi.acm.org/10.1145/1365490.1365500, doi:10.1145/1365490.1365500.

Org16

Course Organizers. Algorithm Design: Parallel and Sequential. Carnegie Mellon University, September 2016. Course Book Draft Edition. Course Taught Fall 2016 by Umut Acar and Robert Harper.

PJ93

John Peterson and Mark Jones. Implementing type classes. In Proceedings of the ACM SIGPLAN 1993 Conference on Programming Language Design and Implementation, PLDI '93, 227–236. New York, NY, USA, 1993. ACM. URL: http://doi.acm.org/10.1145/155090.155112, doi:10.1145/155090.155112.

Sch80

Jacob T. Schwartz. Ultracomputers. ACM Trans. Program. Lang. Syst., 2(4):484–521, October 1980. URL: http://doi.acm.org/10.1145/357114.357116, doi:10.1145/357114.357116.

vN45

John von Neumann. First draft of a report on the EDVAC. Technical Report, Moore School of Electrical Engineering, University of Pennsylvania, June 1945.