-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbib.bib
931 lines (819 loc) · 28.5 KB
/
bib.bib
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
@book{trobec2018introduction,
title={Introduction to Parallel Computing: From Algorithms to Programming on State-of-the-Art Platforms},
author={Trobec, Roman and Slivnik, Bo{\v{s}}tjan and Buli{\'c}, Patricio and Robi{\v{c}}, Borut},
year={2018},
publisher={Springer}
}
@book{grama2003introduction,
title={Introduction to parallel computing},
author={Grama, Ananth and Kumar, Vipin and Gupta, Anshul and Karypis, George},
year={2003},
publisher={Pearson Education}
}
@inproceedings{amdahl1967validity,
title={Validity of the single processor approach to achieving large scale computing capabilities},
author={Amdahl, Gene M},
booktitle={Proceedings of the April 18-20, 1967, spring joint computer conference},
pages={483--485},
year={1967},
organization={ACM}
}
@book{kernighan1974elements,
title={The elements of programming style},
author={Kernighan, Brian W and Plauger, Phillip James},
journal={New York: McGraw-Hill, 1974, 2nd ed.},
year={1974}
}
@book{newham2005learning,
title={Learning the bash shell: Unix shell programming},
author={Newham, Cameron and Rosenblatt, Bill},
year={2005},
publisher={" O'Reilly Media, Inc."}
}
@book{robbins2016bash,
title={Bash Pocket Reference: Help for Power Users and Sys Admins},
author={Robbins, Arnold},
year={2016},
publisher={" O'Reilly Media, Inc."}
}
@book{gilli1965binary,
title={Binary arithmetic and Boolean algebra},
author={Gilli, Angelo Christopher},
year={1965},
publisher={McGraw-Hill}
}
@ARTICLE{4610935,
author={},
journal={{IEEE} Std 754-2008},
title={{IEEE Standard for Floating-Point Arithmetic}},
year={2008},
volume={},
number={},
pages={1-70},
keywords={floating point arithmetic;IEEE standards;programming;IEEE standard;decimal floating-point arithmetic;computer programming;arithmetic formats;754-2008;arithmetic;binary;computer;decimal;exponent;floating-point;format;interchange;NaN;number;rounding;significand;subnormal},
doi={10.1109/IEEESTD.2008.4610935},
ISSN={},
month={Aug},}
@article{goldberg1991every,
title={What every computer scientist should know about floating-point arithmetic},
author={Goldberg, David},
journal={ACM Computing Surveys (CSUR)},
volume={23},
number={1},
pages={5--48},
year={1991},
publisher={ACM}
}
@book{andrew2000accelerated,
title={Accelerated C++: practical programming by example},
author={Andrew, Koenig},
year={2000},
publisher={Pearson Education India}
}
@book{stroustrup2014programming,
title={Programming: principles and practice using C++},
author={Stroustrup, Bjarne},
year={2014},
publisher={Pearson Education}
}
@article{matsumoto1998mersenne,
title={Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator},
author={Matsumoto, Makoto and Nishimura, Takuji},
journal={ACM Transactions on Modeling and Computer Simulation (TOMACS)},
volume={8},
number={1},
pages={3--30},
year={1998},
publisher={ACM New York, NY, USA}
}
@book{o2017mastering,
title={Mastering the C++ 17 STL: Make full use of the standard library components in C++ 17},
author={O'dwyer, Arthur},
year={2017},
publisher={Packt Publishing Ltd}
}
@book{stepanov1995standard,
title={The standard template library},
author={Stepanov, Alexander and Lee, Meng},
volume={1501},
year={1995},
publisher={Hewlett Packard Laboratories 1501 Page Mill Road, Palo Alto, CA 94304}
}
@book{shonkwiler2009explorations,
title={Explorations in Monte Carlo Methods},
author={Shonkwiler, Ronald W and Mendivil, Franklin},
year={2009},
publisher={Springer Science \& Business Media}
}
@article{kroese2014monte,
title={Why the Monte Carlo method is so important today},
author={Kroese, Dirk P and Brereton, Tim and Taimre, Thomas and Botev, Zdravko I},
journal={Wiley Interdisciplinary Reviews: Computational Statistics},
volume={6},
number={6},
pages={386--392},
year={2014},
publisher={Wiley Online Library}
}
@book{michalewicz2013genetic,
title={Genetic algorithms+ data structures= evolution programs},
author={Michalewicz, Zbigniew},
year={2013},
publisher={Springer Science \& Business Media}
}
@book{knuth1997art,
title={The art of computer programming: Fundamental Algorithms },
author={Knuth, Donald Ervin},
volume={1},
year={1968},
publisher={Pearson Education}
}
@book{josuttis2012c++,
title={The C++ standard library: a tutorial and reference},
author={Josuttis, Nicolai M},
year={2012},
publisher={Addison-Wesley}
}
@book{josuttis2003c++,
title={C++ Templates: The Complete Guide},
author={Josuttis, Nicolai M},
year={2003},
publisher={Addison-Wesley Professional}
}
@article{doi:10.1137/110830125,
author = {Iglberger, K. and Hager, G. and Treibig, J. and Rüde, U.},
title = {Expression Templates Revisited: A Performance Analysis of Current Methodologies},
journal = {SIAM Journal on Scientific Computing},
volume = {34},
number = {2},
pages = {C42-C69},
year = {2012},
doi = {10.1137/110830125},
URL = {
https://doi.org/10.1137/110830125
},
eprint = {
https://doi.org/10.1137/110830125
}
}
@INPROCEEDINGS{6266939,
author={K. {Iglberger} and G. {Hager} and J. {Treibig} and U. {Rüde}},
booktitle={2012 International Conference on High Performance Computing Simulation (HPCS)},
title={High performance smart expression template math libraries},
year={2012},
volume={},
number={},
pages={367-373},
keywords={C++ language;libraries;linear algebra;mathematics computing;simulation;software maintenance;software packages;user interfaces;smart expression template;linear algebra libraries;numerical packages;simulation packages;large scale simulation;software maintenance;software modification;software framework;C++ expression templates;intuitive user interface;HPC-grade performance;C++ math libraries;Libraries;Vectors;Kernel;Benchmark testing;Optimization;Standards;Syntactics},
doi={10.1109/HPCSim.2012.6266939},
ISSN={},
month={July},}
@inproceedings{wang2013augem,
title={AUGEM: automatically generate high performance dense linear algebra kernels on x86 CPUs},
author={Wang, Qian and Zhang, Xianyi and Zhang, Yunquan and Yi, Qing},
booktitle={SC'13: Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis},
pages={1--12},
year={2013},
organization={IEEE}
}
@MISC{eigenweb,
author = {Ga\"{e}l Guennebaud and Beno\^{i}t Jacob and others},
title = {Eigen v3},
howpublished = {http://eigen.tuxfamily.org},
year = {2010}
}
@article{rupp2016viennacl,
title={ViennaCL---Linear Algebra Library for Multi-and Many-Core Architectures},
author={Rupp, Karl and Tillet, Philippe and Rudolf, Florian and Weinbub, Josef and Morhammer, Andreas and Grasser, Tibor and J\"ungel, Ansgar and Selberherr, Siegfried},
journal={SIAM Journal on Scientific Computing},
volume={38},
number={5},
pages={S412--S439},
year={2016},
publisher={SIAM}
}
@article{sanderson2016armadillo,
title={Armadillo: a template-based C++ library for linear algebra},
author={Sanderson, Conrad and Curtin, Ryan},
journal={Journal of Open Source Software},
year={2016},
publisher={Journal of Open Source Software}
}
@article{mohr2016codata,
title={CODATA recommended values of the fundamental physical constants: 2014},
author={Mohr, Peter J and Newell, David B and Taylor, Barry N},
journal={Journal of Physical and Chemical Reference Data},
volume={45},
number={4},
pages={043102},
year={2016},
publisher={NIST}
}
@book{newton1833philosophiae,
title={Philosophiae naturalis principia mathematica},
author={Newton, Isaac},
volume={1},
year={1833},
publisher={G. Brookman}
}
@book{aarseth2008cambridge,
title={The Cambridge N-body lectures},
author={Aarseth, Sverre and Tout, Christopher and Mardling, Rosemary},
volume={760},
year={2008},
publisher={Springer}
}
@book{aarseth2003gravitational,
title={Gravitational N-body simulations: tools and algorithms},
author={Aarseth, Sverre J},
year={2003},
publisher={Cambridge University Press}
}
@book{bachmann1894analytische,
title={Die analytische zahlentheorie},
author={Bachmann, Paul},
volume={2},
year={1894},
publisher={Teubner}
}
@book{landau2000handbuch,
title={Handbuch der Lehre von der Verteilung der Primzahlen},
author={Landau, Edmund},
volume={1},
year={2000},
publisher={Рипол Классик}
}
@article{barnes1986hierarchical,
title={A hierarchical O (N log N) force-calculation algorithm},
author={Barnes, Josh and Hut, Piet},
journal={nature},
volume={324},
number={6096},
pages={446},
year={1986},
publisher={Nature Publishing Group}
}
@book{euler1824institutionum,
title={Institutionum calculi integralis},
author={Euler, Leonhard},
volume={1},
year={1824},
publisher={impensis Academiae imperialis scientiarum}
}
@book{leveque2007finite,
title={Finite difference methods for ordinary and partial differential equations: steady-state and time-dependent problems},
author={LeVeque, Randall J},
volume={98},
year={2007},
publisher={Siam}
}
@book{strikwerda2004finite,
title={Finite difference schemes and partial differential equations},
author={Strikwerda, John C},
volume={88},
year={2004},
publisher={Siam}
}
@inproceedings{crank1947practical,
title={A practical method for numerical evaluation of solutions of partial differential equations of the heat-conduction type},
author={Crank, John and Nicolson, Phyllis},
booktitle={Mathematical Proceedings of the Cambridge Philosophical Society},
volume={43},
number={1},
pages={50--67},
year={1947},
organization={Cambridge University Press}
}
@book{hunt1900pragmatic,
title={The pragmatic programmer},
author={Hunt, Andrew},
year={1900},
publisher={Pearson Education India}
}
@article{sommerville2011software,
title={Software engineering 9th Edition},
author={Sommerville, Ian},
journal={ISBN-10},
volume={137035152},
year={2011}
}
@article{ritchie1993development,
title={The development of the C language},
author={Ritchie, Dennis M},
journal={ACM Sigplan Notices},
volume={28},
number={3},
pages={201--208},
year={1993}
}
@book{kernighan2006c,
title={The C programming language},
author={Kernighan, Brian W and Ritchie, Dennis M},
year={2006}
}
@incollection{stroustrup1996history,
title={A history of C++ 1979--1991},
author={Stroustrup, Bjarne},
booktitle={History of programming languages---II},
pages={699--769},
year={1996}
}
@book{stroustrup2000c++,
title={The C++ programming language},
author={Stroustrup, Bjarne},
year={2000},
publisher={Pearson Education India}
}
@article{koenig1998standard,
title={Standard--the C++ language. Report ISO/IEC 14882: 1998},
author={Koenig, A},
journal={Information Technology Council (NCTIS)},
year={1998}
}
@techreport{c++2003iso,
title={ISO/IEC 14882: 2003 Programming Languages—C++},
author={C++ Standards Committee and others},
year={2003},
institution={Technical report, ISO}
}
@techreport{c++2011iso,
title={iso/iec 14882: 2011, standard for programming language c++},
author={C++ Standards Committee and others},
year={2011},
institution={Technical report, 2011. http://www. open-std. org/jtc1/sc22/wg21}
}
@techreport{c++2014iso,
title={ISO International Standard ISO/IEC 14882: 2014, Programming Language C++},
author={C++ Standards Committee and others},
year={2014},
institution={Technical report, Geneva, Switzerland: International Organization for~…}
}
@article{smith2017iso,
title={ISO/IEC 14882: 2017 Information technology---Programming languages---C++},
author={Smith, Richard},
journal={International Organization for Standardization},
year={2017}
}
@book{cmake,
title={LProfessional CMake: A Practical Guide },
author={Craig, Scott},
volume={6},
year={2018},
publisher={Crascit}
}
@article{ramamoorthy1977pipeline,
title={Pipeline architecture},
author={Ramamoorthy, Chittoor V and Li, Hon Fung},
journal={ACM Computing Surveys (CSUR)},
volume={9},
number={1},
pages={61--102},
year={1977},
publisher={ACM New York, NY, USA}
}
@book{watts2009people,
title={The people's tycoon: Henry Ford and the American century},
author={Watts, Steven},
year={2009},
publisher={Vintage}
}
@article{quinn2003parallel,
title={Parallel programming},
author={Quinn, Michael J},
journal={TMH CSE},
volume={526},
year={2003}
}
@article{flynn1972some,
title={Some computer organizations and their effectiveness},
author={Flynn, Michael J},
journal={IEEE transactions on computers},
volume={100},
number={9},
pages={948--960},
year={1972},
publisher={IEEE}
}
@article{duncan1990survey,
title={A survey of parallel computer architectures},
author={Duncan, Ralph},
journal={Computer},
volume={23},
number={2},
pages={5--16},
year={1990},
publisher={IEEE}
}
@book{el2005advanced,
title={Advanced computer architecture and parallel processing},
author={El-Rewini, Hesham and Abd-El-Barr, Mostafa},
volume={42},
year={2005},
publisher={John Wiley \& Sons}
}
@book{hager2010introduction,
title={Introduction to high performance computing for scientists and engineers},
author={Hager, Georg and Wellein, Gerhard},
year={2010},
publisher={CRC Press}
}
@Book{williams2012c++,
author = {Williams, Anthony},
title = {C++ concurrency in action : practical multithreading},
publisher = {Manning},
year = {2012},
address = {Shelter Island, NY},
isbn = {9781933988771}
}
@book{kleiman1996programming,
title={Programming with threads},
author={Kleiman, Steve and Shah, Devang and Smaalders, Bart},
year={1996},
publisher={Sun Soft Press Mountain View}
}
@book{butenhof1997programming,
title={Programming with POSIX threads},
author={Butenhof, David R},
year={1997},
publisher={Addison-Wesley Professional}
}
@book{biggs1993algebraic,
title={Algebraic graph theory},
author={Biggs, Norman and Biggs, Norman Linstead and Norman, Biggs},
volume={67},
year={1993},
publisher={Cambridge university press}
}
@book{scheick1997linear,
title={Linear algebra with applications},
author={Scheick, John T},
volume={81},
year={1997},
publisher={McGraw-Hill New York}
}
@article{cholesky2005resolution,
title={Sur la r{\'e}solution num{\'e}rique des syst{\`e}mes d’{\'e}quations lin{\'e}aires},
author={Cholesky, Andr{\'e}-Louis},
journal={Bulletin de la Sabix. Soci{\'e}t{\'e} des amis de la Biblioth{\`e}que et de l'Histoire de l'{\'E}cole polytechnique},
number={39},
pages={81--95},
year={2005},
publisher={SABIX}
}
@article{bunch1974triangular,
title={Triangular factorization and inversion by fast matrix multiplication},
author={Bunch, James R and Hopcroft, John E},
journal={Mathematics of Computation},
volume={28},
number={125},
pages={231--236},
year={1974}
}
@book{press1992numerical,
title={Numerical recipes in Fortran 77: volume 1, volume 1 of Fortran numerical recipes: the art of scientific computing},
author={Press, William H and Teukolsky, Saul A and Flannery, Brian P and Vetterling, William T},
year={1992},
publisher={Cambridge university press}
}
@misc{brown1999contextual,
title={A Contextual History of Mathematics},
author={Brown, Calinger RJ and West, T},
year={1999},
publisher={Prentice Hall}
}
@book{olshanskii2014iterative,
title={Iterative methods for linear systems: theory and applications},
author={Olshanskii, Maxim A and Tyrtyshnikov, Eugene E},
year={2014},
publisher={SIAM}
}
@book{farebrother1988linear,
title={Linear least squares computations},
author={Farebrother, Richard William},
year={1988},
publisher={Marcel Dekker, Inc.}
}
@inproceedings{fang1997worst,
title={On the worst-case complexity of integer gaussian elimination},
author={Fang, Xin Gui and Havas, George},
booktitle={Proceedings of the 1997 international symposium on Symbolic and algebraic computation},
pages={28--31},
year={1997}
}
@book{hestenes1952methods,
title={Methods of conjugate gradients for solving linear systems},
author={Hestenes, Magnus Rudolph and Stiefel, Eduard},
volume={49},
number={1},
year={1952},
publisher={NBS Washington, DC}
}
@book{briggs2000multigrid,
title={A multigrid tutorial},
author={Briggs, William L and McCormick, Steve F and others},
volume={72},
year={2000},
publisher={Siam}
}
@misc{shewchuk1994introduction,
title={An introduction to the conjugate gradient method without the agonizing pain},
author={Shewchuk, Jonathan Richard and others},
year={1994},
publisher={Carnegie-Mellon University. Department of Computer Science}
}
@book{barrett1994templates,
title={Templates for the solution of linear systems: building blocks for iterative methods},
author={Barrett, Richard and Berry, Michael and Chan, Tony F and Demmel, James and Donato, June and Dongarra, Jack and Eijkhout, Victor and Pozo, Roldan and Romine, Charles and Van der Vorst, Henk},
year={1994},
publisher={SIAM}
}
@book{gurtin1982introduction,
title={An introduction to continuum mechanics},
author={Gurtin, Morton E},
year={1982},
publisher={Academic press}
}
@book{liu2013continuum,
title={Continuum mechanics},
author={Liu, I-Shih},
year={2013},
publisher={Springer Science \& Business Media}
}
@article{parks2008implementing,
title={Implementing peridynamics within a molecular dynamics code},
author={Parks, Michael L and Lehoucq, Richard B and Plimpton, Steven J and Silling, Stewart A},
journal={Computer Physics Communications},
volume={179},
number={11},
pages={777--783},
year={2008},
publisher={Elsevier}
}
@article{silling2000reformulation,
title={Reformulation of elasticity theory for discontinuities and long-range forces},
author={Silling, Stewart A},
journal={Journal of the Mechanics and Physics of Solids},
volume={48},
number={1},
pages={175--209},
year={2000},
publisher={Elsevier}
}
@article{silling2005meshfree,
title={A meshfree method based on the peridynamic model of solid mechanics},
author={Silling, Stewart A and Askari, Ebrahim},
journal={Computers \& Structures},
volume={83},
number={17-18},
pages={1526--1535},
year={2005},
publisher={Elsevier}
}
@book{silverman2013git,
title={Git Pocket Guide: A Working Introduction},
author={Silverman, Richard E},
year={2013},
publisher={"O'Reilly Media, Inc."}
}
@book{laster2016professional,
title={Professional git},
author={Laster, Brent},
year={2016},
publisher={John Wiley \& Sons}
}
@inproceedings{shirzad2019scheduling,
title={Scheduling Optimization of Parallel Linear Algebra Algorithms Using Supervised Learning},
author={Laberge, Gabriel and Shirzad, Shahrzad and Diehl, Patrick and Kaiser, Hartmut and Prudhomme, Serge and Lemoine, Adrian S and others},
booktitle={2019 IEEE/ACM Workshop on Machine Learning in High Performance Computing Environments (MLHPC)},
pages={31--43},
year={2019},
organization={IEEE}
}
@inproceedings{grubel2016using,
title={Using intrinsic performance counters to assess efficiency in task-based parallel applications},
author={Grubel, Patricia and Kaiser, Hartmut and Huck, Kevin and Cook, Jeanine},
booktitle={2016 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)},
pages={1692--1701},
year={2016},
organization={IEEE}
}
@inproceedings{grubel2015performance,
title={The performance implication of task size for applications on the hpx runtime system},
author={Grubel, Patricia and Kaiser, Hartmut and Cook, Jeanine and Serio, Adrian},
booktitle={2015 IEEE International Conference on Cluster Computing},
pages={682--689},
year={2015},
organization={IEEE}
}
@book{grubel2016dynamic,
title={Dynamic Adaptation in HPX: A Task-based Parallel Runtime System},
author={Grubel, Patricia A},
year={2016},
publisher={New Mexico State University}
}
@inproceedings{daiss2019piz,
title={From piz daint to the stars: simulation of stellar mergers using high-level abstractions},
author={Dai{\ss}, Gregor and Amini, Parsa and Biddiscombe, John and Diehl, Patrick and Frank, Juhan and Huck, Kevin and Kaiser, Hartmut and Marcello, Dominic and Pfander, David and Pf{\"u}ger, Dirk},
booktitle={Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis},
pages={1--37},
year={2019}
}
@article{heller2019harnessing,
title={Harnessing billions of tasks for a scalable portable hydrodynamic simulation of the merger of two stars},
author={Heller, Thomas and Lelbach, Bryce Adelstein and Huck, Kevin A and Biddiscombe, John and Grubel, Patricia and Koniges, Alice E and Kretz, Matthias and Marcello, Dominic and Pfander, David and Serio, Adrian and others},
journal={The International Journal of High Performance Computing Applications},
volume={33},
number={4},
pages={699--715},
year={2019},
publisher={SAGE Publications Sage UK: London, England}
}
@article{heller2017hpx,
title={Hpx--an open source c++ standard library for parallelism and concurrency},
author={Heller, Thomas and Diehl, Patrick and Byerly, Zachary and Biddiscombe, John and Kaiser, Hartmut},
journal={Proceedings of OpenSuCo},
pages={5},
year={2017}
}
@article{heller2019extending,
title={Extending the C++ Asynchronous Programming Model with the HPX Runtime System for Distributed Memory Computing},
author={Heller, Thomas},
year={2019}
}
@article{thoman2018taxonomy,
title={A taxonomy of task-based parallel programming technologies for high-performance computing},
author={Thoman, Peter and Dichev, Kiril and Heller, Thomas and Iakymchuk, Roman and Aguilar, Xavier and Hasanov, Khalid and Gschwandtner, Philipp and Lemarinier, Pierre and Markidis, Stefano and Jordan, Herbert and others},
journal={The Journal of Supercomputing},
volume={74},
number={4},
pages={1422--1434},
year={2018},
publisher={Springer}
}
@book{cannon1984one,
title={The one-dimensional heat equation},
author={Cannon, John Rozier},
number={23},
year={1984},
publisher={Cambridge University Press}
}
@article{dijkstra1962over,
title={Over de sequentialiteit van procesbeschrijvingen},
author={Dijkstra, Edsger W},
journal={Trans. by Martien van der Burgt and Heather Lawrence. In},
year={1962}
}
@book{downey2008little,
title={The little book of semaphores},
author={Downey, Allen},
year={2008},
publisher={Green Tea Press}
}
@book{adams2017ultimate,
title={The Ultimate Hitchhiker's Guide to the Galaxy},
author={Adams, Douglas},
volume={6},
year={2017},
publisher={Pan Macmillan}
}
@inproceedings{diehl2020gateways,
author = {Patrick Diehl and Steven R. Brandt},
title = {{Interactive C++ code development using C++Explorer and GitHub Classroom for educational purposes}},
booktitle = {Proceedings of Gateways 2020},
year = {2020},
pages = {5},
doi = {10.17605/OSF.IO/QBTJ3},
publisher = {Science Gateways Community Institute (SGCI)}
}
@inproceedings{kaiser2009parallex,
title={Parallex an advanced parallel execution model for scaling-impaired applications},
author={Kaiser, Hartmut and Brodowicz, Maciek and Sterling, Thomas},
booktitle={2009 International Conference on Parallel Processing Workshops},
pages={394--401},
year={2009},
organization={IEEE}
}
@book{abelson1996structure,
title={Structure and interpretation of computer programs},
author={Abelson, Harold and Sussman, Gerald Jay},
year={1996},
publisher={The MIT Press}
}
@inproceedings{kaiser2014hpx,
title={Hpx: A task based programming model in a global address space},
author={Kaiser, Hartmut and Heller, Thomas and Adelstein-Lelbach, Bryce and Serio, Adrian and Fey, Dietmar},
booktitle={Proceedings of the 8th International Conference on Partitioned Global Address Space Programming Models},
pages={6},
year={2014},
organization={ACM}
}
@article{Kaiser2020,
doi = {10.21105/joss.02352},
url = {https://doi.org/10.21105/joss.02352},
year = {2020},
publisher = {The Open Journal},
volume = {5},
number = {53},
pages = {2352},
author = {Hartmut Kaiser and Patrick Diehl and Adrian S. Lemoine and Bryce Adelstein Lelbach and Parsa Amini and Agustín Berge and John Biddiscombe and Steven R. Brandt and Nikunj Gupta and Thomas Heller and Kevin Huck and Zahra Khatami and Alireza Kheirkhahan and Auriane Reverdell and Shahrzad Shirzad and Mikael Simberg and Bibek Wagle and Weile Wei and Tianyi Zhang},
title = {HPX - The C++ Standard Library for Parallelism and Concurrency},
journal = {Journal of Open Source Software}
}
@article{van2002distributed,
title={Distributed systems principles and paradigms},
author={Van Steen, Maarten and Tanenbaum, A},
journal={Network},
volume={2},
pages={28},
year={2002}
}
@book{gropp1999using,
title={Using MPI: portable parallel programming with the message-passing interface},
author={Gropp, William and Gropp, William D and Lusk, Ewing and Skjellum, Anthony and Lusk, Argonne Distinguished Fellow Emeritus Ewing},
volume={1},
year={1999},
publisher={MIT press}
}
@book{kumar1994introduction,
title={Introduction to parallel computing},
author={Kumar, Vipin and Grama, Ananth and Gupta, Anshul and Karypis, George},
volume={110},
year={1994},
publisher={Benjamin/Cummings Redwood City, CA}
}
@book{sanders2010cuda,
title={CUDA by example: an introduction to general-purpose GPU programming},
author={Sanders, Jason and Kandrot, Edward},
year={2010},
publisher={Addison-Wesley Professional}
}
@ARTICLE {7543422,
author = {D. A. Bader},
journal = {Computer},
title = {Evolving MPI+X Toward Exascale},
year = {2016},
volume = {49},
number = {08},
issn = {1558-0814},
pages = {10-10},
keywords = {},
doi = {10.1109/MC.2016.232},
publisher = {IEEE Computer Society},
address = {Los Alamitos, CA, USA},
month = {aug}
}
@article{10.1016/j.jpdc.2014.07.003,
author = {Carter Edwards, H. and Trott, Christian R. and Sunderland, Daniel},
title = {Kokkos},
year = {2014},
issue_date = {December 2014},
publisher = {Academic Press, Inc.},
address = {USA},
volume = {74},
number = {12},
issn = {0743-7315},
url = {https://doi.org/10.1016/j.jpdc.2014.07.003},
doi = {10.1016/j.jpdc.2014.07.003},
abstract = {The manycore revolution can be characterized by increasing thread counts, decreasing
memory per thread, and diversity of continually evolving manycore architectures. High
performance computing (HPC) applications and libraries must exploit increasingly finer
levels of parallelism within their codes to sustain scalability on these devices.
A major obstacle to performance portability is the diverse and conflicting set of
constraints on memory access patterns across devices. Contemporary portable programming
models address manycore parallelism (e.g., OpenMP, OpenACC, OpenCL) but fail to address
memory access patterns. The Kokkos C++ library enables applications and domain libraries
to achieve performance portability on diverse manycore architectures by unifying abstractions
for both fine-grain data parallelism and memory access patterns. In this paper we
describe Kokkos' abstractions, summarize its application programmer interface (API),
present performance results for unit-test kernels and mini-applications, and outline
an incremental strategy for migrating legacy C++ codes to Kokkos. The Kokkos library
is under active research and development to incorporate capabilities from new generations
of manycore architectures, and to address a growing list of applications and domain
libraries. We developed a performance portable programming model (PM) for manycore
devices.Unifying parallel dispatch and data layout is mandatory for performance portability.The
Kokkos C++library implements this PM with pthreads, OpenMP, and CUDA back-ends.Demonstrate
Xeon Phi and NVIDIA GPU performance portability with mini-applications.Recommend a
strategy for legacy application codes to migrate to manycore.},
journal = {J. Parallel Distrib. Comput.},
month = dec,
pages = {3202–3216},
numpages = {15},
keywords = {Manycore, GPU, Thread parallelism, Parallel computing, Mini-application, Performance portability, Multidimensional array}
}
@INPROCEEDINGS{7312664,
author={Grun, Paul and Hefty, Sean and Sur, Sayantan and Goodell, David and Russell, Robert D. and Pritchard, Howard and Squyres, Jeffrey M.},
booktitle={2015 IEEE 23rd Annual Symposium on High-Performance Interconnects},
title={A Brief Introduction to the OpenFabrics Interfaces - A New Network API for Maximizing High Performance Application Efficiency},
year={2015},
volume={},
number={},
pages={34-39},
doi={10.1109/HOTI.2015.19}}
@inproceedings{brzezinski1995deadlocks,
title={Deadlocks in distributed systems: request models and definitions},
author={Brzezinski, Jerzy and Helary, J-M and Raynal, Michel},
booktitle={Proceedings of the Fifth IEEE Computer Society Workshop on Future Trends of Distributed Computing Systems},
pages={186--193},
year={1995},
organization={IEEE}
}