Browse Source

Developing multi-GPU programming bootcamp

sft-managed 2 years ago
parent
commit
0ed490038d
85 changed files with 352 additions and 0 deletions
  1. 3 0
      .gitmodules
  2. 1 0
      hpc/multi_gpu_nways/Dockerfile
  3. 5 0
      hpc/multi_gpu_nways/README.md
  4. 1 0
      hpc/multi_gpu_nways/Singularity
  5. 1 0
      hpc/multi_gpu_nways/labs/CFD/English/C/source_code/multi-gpu-programming-models
  6. 91 0
      hpc/multi_gpu_nways/labs/CFD/English/mgp_01_begin.ipynb
  7. 23 0
      hpc/multi_gpu_nways/labs/profiler/English/LICENSE
  8. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/Nsight Diagram.png
  9. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/Optimization_Cycle.jpg
  10. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/UM.png
  11. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/allsection-compute.png
  12. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/baseline-compute.png
  13. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/charts-compute.png
  14. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/cli-out.png
  15. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/collapse_feedback.png
  16. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/collapse_pre.png
  17. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/collapse_thread.png
  18. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/compute.png
  19. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/compute_analyz.png
  20. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/compute_command.png
  21. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/compute_command_line.png
  22. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/compute_open.png
  23. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/cpu.png
  24. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/cuda.png
  25. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/cuda_hw_sw.png
  26. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/cuda_indexing.png
  27. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/cuda_vec_add.png
  28. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/data_feedback.png
  29. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/data_thread.png
  30. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/diagram.png
  31. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/gang_128.png
  32. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/gang_256.png
  33. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/gang_32.png
  34. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/gang_vector.png
  35. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/gpu_feedback.png
  36. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/kernel_feedback.png
  37. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/kernel_indep_feedback.png
  38. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/kokkos_abstraction.png
  39. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/kokkos_ecosystem.png
  40. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/kokkos_mirror_view.png
  41. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/laplas3.png
  42. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/launch-compute.png
  43. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/nsight_open.png
  44. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/nvtx.PNG
  45. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/nvtx_gpu.png
  46. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/nvtx_multicore.png
  47. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/nvtx_serial.png
  48. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openacc correlation.png
  49. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openacc_3_directives.png
  50. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openacc_construct.png
  51. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openacc_copyclause.png
  52. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openacc_parallel.png
  53. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openacc_parallel2.png
  54. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openacc_parallel_loop.png
  55. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openmp_fork_join.png
  56. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openmp_parallel_construct.png
  57. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openmp_parallelfor_construct.png
  58. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openmp_target_distribute.png
  59. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openmp_target_teams.png
  60. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openmp_teams.png
  61. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openmp_teams_for.png
  62. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/page-compute.png
  63. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/parallel_data.png
  64. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/parallel_data_feedback.png
  65. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/parallel_detailed.png
  66. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/parallel_expand.png
  67. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/parallel_loop.png
  68. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/parallel_timeline.png
  69. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/parallel_unified.png
  70. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/rdf.png
  71. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/roofline_collapse.png
  72. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/rule-compute.png
  73. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/scheduler_collapse.png
  74. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/serial.png
  75. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/sol.png
  76. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/sol_baseline.png
  77. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/source_collapse.png
  78. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/source_hover.png
  79. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/source_loc.png
  80. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/source_sass_collapse.png
  81. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/summary-compute.png
  82. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/thread.png
  83. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/warp_collapse.png
  84. BIN
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/workflow.png
  85. 227 0
      hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/profiling-c.ipynb

+ 3 - 0
.gitmodules

@@ -0,0 +1,3 @@
+[submodule "hpc/multi_gpu_nways/labs/CFD/English/C/source_code/multi-gpu-programming-models"]
+	path = hpc/multi_gpu_nways/labs/CFD/English/C/source_code/multi-gpu-programming-models
+	url = https://github.com/Anish-Saxena/multi-gpu-programming-models.git

+ 1 - 0
hpc/multi_gpu_nways/Dockerfile

@@ -0,0 +1 @@
+# To be populated

+ 5 - 0
hpc/multi_gpu_nways/README.md

@@ -0,0 +1,5 @@
+# N-Ways to Multi-GPU Programming
+
+This repository contains applications for GPU Bootcamps. The lab currently under development is to enable multi-node multi-GPU programming using CUDA-aware MPI , NCCl, and NVHSHMEM with insights from NSight Systems and HPCToolkit profilers.
+
+### To be populated

+ 1 - 0
hpc/multi_gpu_nways/Singularity

@@ -0,0 +1 @@
+# To be populated

+ 1 - 0
hpc/multi_gpu_nways/labs/CFD/English/C/source_code/multi-gpu-programming-models

@@ -0,0 +1 @@
+Subproject commit 5c21895b8fa7ec36adc1f38f454a5e95dde9ae48

File diff suppressed because it is too large
+ 91 - 0
hpc/multi_gpu_nways/labs/CFD/English/mgp_01_begin.ipynb


+ 23 - 0
hpc/multi_gpu_nways/labs/profiler/English/LICENSE

@@ -0,0 +1,23 @@
+Copyright (c) 2018, National Center for Computational Sciences, Oak Ridge National Laboratory
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/Nsight Diagram.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/Optimization_Cycle.jpg


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/UM.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/allsection-compute.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/baseline-compute.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/charts-compute.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/cli-out.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/collapse_feedback.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/collapse_pre.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/collapse_thread.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/compute.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/compute_analyz.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/compute_command.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/compute_command_line.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/compute_open.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/cpu.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/cuda.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/cuda_hw_sw.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/cuda_indexing.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/cuda_vec_add.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/data_feedback.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/data_thread.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/diagram.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/gang_128.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/gang_256.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/gang_32.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/gang_vector.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/gpu_feedback.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/kernel_feedback.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/kernel_indep_feedback.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/kokkos_abstraction.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/kokkos_ecosystem.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/kokkos_mirror_view.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/laplas3.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/launch-compute.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/nsight_open.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/nvtx.PNG


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/nvtx_gpu.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/nvtx_multicore.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/nvtx_serial.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openacc correlation.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openacc_3_directives.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openacc_construct.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openacc_copyclause.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openacc_parallel.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openacc_parallel2.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openacc_parallel_loop.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openmp_fork_join.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openmp_parallel_construct.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openmp_parallelfor_construct.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openmp_target_distribute.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openmp_target_teams.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openmp_teams.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/openmp_teams_for.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/page-compute.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/parallel_data.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/parallel_data_feedback.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/parallel_detailed.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/parallel_expand.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/parallel_loop.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/parallel_timeline.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/parallel_unified.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/rdf.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/roofline_collapse.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/rule-compute.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/scheduler_collapse.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/serial.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/sol.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/sol_baseline.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/source_collapse.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/source_hover.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/source_loc.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/source_sass_collapse.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/summary-compute.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/thread.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/warp_collapse.png


BIN
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/images/workflow.png


File diff suppressed because it is too large
+ 227 - 0
hpc/multi_gpu_nways/labs/profiler/English/jupyter_notebook/profiling-c.ipynb