Parcourir la source

added makefile to openacc,updated notebooks

Mozhgan K. Chimeh il y a 4 ans
Parent
commit
17e547cfb4
35 fichiers modifiés avec 365 ajouts et 75 suppressions
  1. 2 2
      hpc/openacc/English/C/jupyter_notebook/.ipynb_checkpoints/openacc_c_lab1-bonus-checkpoint.ipynb
  2. 5 4
      hpc/openacc/English/C/jupyter_notebook/.ipynb_checkpoints/openacc_c_lab1-checkpoint.ipynb
  3. 10 8
      hpc/openacc/English/C/jupyter_notebook/.ipynb_checkpoints/openacc_c_lab2-checkpoint.ipynb
  4. 20 13
      hpc/openacc/English/C/jupyter_notebook/.ipynb_checkpoints/openacc_c_lab3-checkpoint.ipynb
  5. 2 2
      hpc/openacc/English/C/jupyter_notebook/openacc_c_lab1-bonus.ipynb
  6. 3 3
      hpc/openacc/English/C/jupyter_notebook/openacc_c_lab1.ipynb
  7. 10 8
      hpc/openacc/English/C/jupyter_notebook/openacc_c_lab2.ipynb
  8. 3 3
      hpc/openacc/English/C/jupyter_notebook/openacc_c_lab3.ipynb
  9. 17 0
      hpc/openacc/English/C/source_code/lab1/Makefile
  10. 17 0
      hpc/openacc/English/C/source_code/lab1/solutions/Makefile
  11. 19 0
      hpc/openacc/English/C/source_code/lab2/Makefile
  12. 19 0
      hpc/openacc/English/C/source_code/lab2/solutions/Makefile
  13. 19 0
      hpc/openacc/English/C/source_code/lab2/update/Makefile
  14. 19 0
      hpc/openacc/English/C/source_code/lab2/update/solution/Makefile
  15. 9 0
      hpc/openacc/English/C/source_code/lab3/Makefile
  16. 9 0
      hpc/openacc/English/C/source_code/lab3/solutions/collapse/Makefile
  17. 9 0
      hpc/openacc/English/C/source_code/lab3/solutions/tile/Makefile
  18. 1 1
      hpc/openacc/English/Fortran/jupyter_notebook/.ipynb_checkpoints/openacc_fortran_lab1-bonus-checkpoint.ipynb
  19. 3 3
      hpc/openacc/English/Fortran/jupyter_notebook/.ipynb_checkpoints/openacc_fortran_lab1-checkpoint.ipynb
  20. 11 9
      hpc/openacc/English/Fortran/jupyter_notebook/.ipynb_checkpoints/openacc_fortran_lab2-checkpoint.ipynb
  21. 3 3
      hpc/openacc/English/Fortran/jupyter_notebook/.ipynb_checkpoints/openacc_fortran_lab3-checkpoint.ipynb
  22. 1 1
      hpc/openacc/English/Fortran/jupyter_notebook/openacc_fortran_lab1-bonus.ipynb
  23. 3 3
      hpc/openacc/English/Fortran/jupyter_notebook/openacc_fortran_lab1.ipynb
  24. 11 9
      hpc/openacc/English/Fortran/jupyter_notebook/openacc_fortran_lab2.ipynb
  25. 3 3
      hpc/openacc/English/Fortran/jupyter_notebook/openacc_fortran_lab3.ipynb
  26. 17 0
      hpc/openacc/English/Fortran/source_code/lab1/Makefile
  27. 17 0
      hpc/openacc/English/Fortran/source_code/lab1/solutions/Makefile
  28. BIN
      hpc/openacc/English/Fortran/source_code/lab1/solutions/a.out
  29. 19 0
      hpc/openacc/English/Fortran/source_code/lab2/Makefile
  30. 19 0
      hpc/openacc/English/Fortran/source_code/lab2/solutions/Makefile
  31. 19 0
      hpc/openacc/English/Fortran/source_code/lab2/update/Makefile
  32. 19 0
      hpc/openacc/English/Fortran/source_code/lab2/update/solution/Makefile
  33. 9 0
      hpc/openacc/English/Fortran/source_code/lab3/Makefile
  34. 9 0
      hpc/openacc/English/Fortran/source_code/lab3/solutions/collapse/Makefile
  35. 9 0
      hpc/openacc/English/Fortran/source_code/lab3/solutions/tile/Makefile

+ 2 - 2
hpc/openacc/English/C/jupyter_notebook/.ipynb_checkpoints/openacc_c_lab1-bonus-checkpoint.ipynb

@@ -72,7 +72,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgcc -fast -ta=tesla,managed -Minfo=accel -o laplace jacobi.c laplace2d.c && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_gpu && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {
@@ -126,7 +126,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgcc -fast -ta=tesla,managed -Minfo=accel -o laplace jacobi.c laplace2d.c && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_gpu && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {

+ 5 - 4
hpc/openacc/English/C/jupyter_notebook/.ipynb_checkpoints/openacc_c_lab1-checkpoint.ipynb

@@ -231,7 +231,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgcc -fast -o laplace jacobi.c laplace2d.c && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_serial && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {
@@ -369,7 +369,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgcc -fast -ta=multicore -Minfo=accel -o laplace jacobi.c laplace2d.c && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_multicore && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {
@@ -421,7 +421,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgcc -fast -ta=tesla:cc70,managed -Minfo=accel -o laplace jacobi.c laplace2d.c && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_gpu && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {
@@ -507,6 +507,7 @@
    "outputs": [],
    "source": [
     "%%bash\n",
+    "cd ..\n",
     "rm -f openacc_files.zip\n",
     "zip -r openacc_files.zip *"
    ]
@@ -515,7 +516,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "**After** executing the above zip command, you should be able to download the zip file [here](openacc_files.zip)\n",
+    "**After** executing the above zip command, you should be able to download the zip file [here](../openacc_files.zip)\n",
     "\n",
     "---\n",
     "## Licensing\n",

Fichier diff supprimé car celui-ci est trop grand
+ 10 - 8
hpc/openacc/English/C/jupyter_notebook/.ipynb_checkpoints/openacc_c_lab2-checkpoint.ipynb


+ 20 - 13
hpc/openacc/English/C/jupyter_notebook/.ipynb_checkpoints/openacc_c_lab3-checkpoint.ipynb

@@ -11,7 +11,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "This version of the lab is intended for C/C++ programmers. The Fortran version of this lab is available [here](../Fortran/jupyter_notebook/openacc_fortran_lab3.ipynb)."
+    "This version of the lab is intended for C/C++ programmers. The Fortran version of this lab is available [here](../../Fortran/jupyter_notebook/openacc_fortran_lab3.ipynb)."
    ]
   },
   {
@@ -46,9 +46,9 @@
     "\n",
     "## Introduction\n",
     "\n",
-    "Our goal for this lab is to use the OpenACC Loop clauses to opimize our Parallel Loops.\n",
+    "Our goal for this lab is to use the OpenACC Loop clauses to optimize our Parallel Loops.\n",
     "  \n",
-    "<img src=\"../files/images/development-cycle.png\" alt=\"OpenACC development cycle\" width=\"50%\">\n",
+    "<img src=\"images/development-cycle.png\" alt=\"OpenACC development cycle\" width=\"50%\">\n",
     "\n",
     "This is the OpenACC 3-Step development cycle.\n",
     "\n",
@@ -78,7 +78,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "!pgcc -fast -ta=tesla:cc70 -Minfo=accel -o laplace_baseline laplace2d.c jacobi.c && ./laplace_baseline"
+    "!cd ../source_code/lab3 && make clean && make && ./laplace"
    ]
   },
   {
@@ -87,10 +87,10 @@
    "source": [
     "### Optional: Analyze the Code\n",
     "\n",
-    "If you would like a refresher on the code files that we are working on, you may view both of them using the two links below by openning the downloaded file.\n",
+    "If you would like a refresher on the code files that we are working on, you may view both of them using the two links below by opening the downloaded file.\n",
     "\n",
-    "[jacobi.c](jacobi.c)  \n",
-    "[laplace2d.c](laplace2d.c)  "
+    "[jacobi.c](../source_code/lab3/jacobi.c)  \n",
+    "[laplace2d.c](../source_code/lab3/laplace2d.c)  "
    ]
   },
   {
@@ -158,7 +158,7 @@
    "source": [
     "#### Implementing the Collapse Clause\n",
     "\n",
-    "From the top menu, click on *File*, and *Open* `laplace2d.c` from the current directory at `lab3/English/C` directory. Use the **collapse clause** to collapse our multi-dimensional loops into a single dimensional loop.\n",
+    "From the top menu, click on *File*, and *Open* `laplace2d.c` from the current directory at `English/C/source_code/lab3` directory. Use the **collapse clause** to collapse our multi-dimensional loops into a single dimensional loop.\n",
     "\n",
     "Remember to **SAVE** your code after changes, before running below cells.\n",
     "\n",
@@ -171,7 +171,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "!pgcc -ta=tesla:cc70 -Minfo=accel -o laplace_collapse jacobi.c laplace2d.c && ./laplace_collapse"
+    "!cd ../source_code/lab3 && make clean && make && ./laplace"
    ]
   },
   {
@@ -281,7 +281,7 @@
    "source": [
     "#### Implementing the Tile Clause\n",
     "\n",
-    "From the top menu, click on *File*, and *Open* `laplace2d.c` from the current directory at `lab3/English/C` directory. Replace the `collapse` clause with the `tile` clause to break our multi-dimensional loops into smaller tiles. Try using a variety of different tile sizes, but for now keep one of the dimensions as a **multiple of 32**. We will talk later about why this is important.\n",
+    "From the top menu, click on *File*, and *Open* `laplace2d.c` from the current directory at `English/C/source_code/lab3` directory. Replace the `collapse` clause with the `tile` clause to break our multi-dimensional loops into smaller tiles. Try using a variety of different tile sizes, but for now keep one of the dimensions as a **multiple of 32**. We will talk later about why this is important.\n",
     "\n",
     "Remember to **SAVE** your code after changes, before running below cells.\n",
     "\n",
@@ -294,7 +294,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "!pgcc -ta=tesla:cc70 -Minfo=accel -o laplace_tile jacobi.c laplace2d.c && ./laplace_tile"
+    "!cd ../source_code/lab3 && make clean && make && ./laplace"
    ]
   },
   {
@@ -347,7 +347,7 @@
     "\n",
     "## Bonus Task (More about Gangs, Workers, and Vectors)\n",
     "\n",
-    "This week's bonus task is to learn a bit more about how OpenACC breaks up the loop iterations into *gangs*, *workers*, and *vectors*, which was discussed very briefly in the first lab. [Click Here](Bonus.ipynb) for more information about these *levels of parallelism*.\n"
+    "This week's bonus task is to learn a bit more about how OpenACC breaks up the loop iterations into *gangs*, *workers*, and *vectors*, which was discussed very briefly in the first lab. [Click Here](openacc_c_lab3-bonus.ipynb) for more information about these *levels of parallelism*.\n"
    ]
   },
   {
@@ -368,6 +368,7 @@
    "outputs": [],
    "source": [
     "%%bash\n",
+    "cd ..\n",
     "rm -f openacc_files.zip\n",
     "zip -r openacc_files.zip *"
    ]
@@ -376,7 +377,13 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "**After** executing the above zip command, you should be able to download the zip file [here](files/openacc_files.zip)"
+    "**After** executing the above zip command, you should be able to download the zip file [here](../openacc_files.zip)\n",
+    "\n",
+    "--- \n",
+    "\n",
+    "## Licensing \n",
+    "\n",
+    "This material is released by NVIDIA Corporation under the Creative Commons Attribution 4.0 International (CC BY 4.0). "
    ]
   }
  ],

+ 2 - 2
hpc/openacc/English/C/jupyter_notebook/openacc_c_lab1-bonus.ipynb

@@ -72,7 +72,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgcc -fast -ta=tesla,managed -Minfo=accel -o laplace jacobi.c laplace2d.c && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_gpu && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {
@@ -126,7 +126,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgcc -fast -ta=tesla,managed -Minfo=accel -o laplace jacobi.c laplace2d.c && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_gpu && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {

+ 3 - 3
hpc/openacc/English/C/jupyter_notebook/openacc_c_lab1.ipynb

@@ -231,7 +231,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgcc -fast -o laplace jacobi.c laplace2d.c && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_serial && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {
@@ -369,7 +369,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgcc -fast -ta=multicore -Minfo=accel -o laplace jacobi.c laplace2d.c && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_multicore && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {
@@ -421,7 +421,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgcc -fast -ta=tesla:cc70,managed -Minfo=accel -o laplace jacobi.c laplace2d.c && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_gpu && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {

Fichier diff supprimé car celui-ci est trop grand
+ 10 - 8
hpc/openacc/English/C/jupyter_notebook/openacc_c_lab2.ipynb


+ 3 - 3
hpc/openacc/English/C/jupyter_notebook/openacc_c_lab3.ipynb

@@ -78,7 +78,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "!pgcc -fast -ta=tesla:cc70 -Minfo=accel -o laplace_baseline laplace2d.c jacobi.c && ./laplace_baseline"
+    "!cd ../source_code/lab3 && make clean && make && ./laplace"
    ]
   },
   {
@@ -171,7 +171,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "!pgcc -ta=tesla:cc70 -Minfo=accel -o laplace_collapse jacobi.c laplace2d.c && ./laplace_collapse"
+    "!cd ../source_code/lab3 && make clean && make && ./laplace"
    ]
   },
   {
@@ -294,7 +294,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "!pgcc -ta=tesla:cc70 -Minfo=accel -o laplace_tile jacobi.c laplace2d.c && ./laplace_tile"
+    "!cd ../source_code/lab3 && make clean && make && ./laplace"
    ]
   },
   {

+ 17 - 0
hpc/openacc/English/C/source_code/lab1/Makefile

@@ -0,0 +1,17 @@
+
+CC := pgcc
+ACCFLAGS_1 := -fast
+ACCFLAGS_2 := -fast -ta=multicore -Minfo=accel
+ACCFLAGS_3 := -fast -ta=tesla,managed -Minfo=accel
+
+laplace_serial: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_1} -o laplace jacobi.c laplace2d.c
+
+laplace_multicore: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_2} -o laplace jacobi.c laplace2d.c
+
+laplace_gpu: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_3} -o laplace jacobi.c laplace2d.c
+
+clean:
+	rm -f *.o laplace

+ 17 - 0
hpc/openacc/English/C/source_code/lab1/solutions/Makefile

@@ -0,0 +1,17 @@
+
+CC := pgcc
+ACCFLAGS_1 := -fast
+ACCFLAGS_2 := -fast -ta=multicore -Minfo=accel
+ACCFLAGS_3 := -fast -ta=tesla,managed -Minfo=accel
+
+laplace_serial: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_1} -o laplace jacobi.c laplace2d.c
+
+laplace_multicore: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_2} -o laplace jacobi.c laplace2d.c
+
+laplace_gpu: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_3} -o laplace jacobi.c laplace2d.c
+
+clean:
+	rm -f *.o laplace

+ 19 - 0
hpc/openacc/English/C/source_code/lab2/Makefile

@@ -0,0 +1,19 @@
+
+CC := pgcc
+ACCFLAGS_1 := -fast -ta=tesla:cc70 -Minfo=accel
+ACCFLAGS_2 := -fast -ta=tesla:cc70,managed -Minfo=accel
+
+laplace_update: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_1} -o laplace_update jacobi.c laplace2d.c
+
+laplace_no_update: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_1} -o laplace_no_update jacobi.c laplace2d.c
+
+laplace_no_managed: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_1} -o laplace jacobi.c laplace2d.c
+
+laplace_managed: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_2} -o laplace_managed jacobi.c laplace2d.c
+
+clean:
+	rm -f *.o laplace laplace_*

+ 19 - 0
hpc/openacc/English/C/source_code/lab2/solutions/Makefile

@@ -0,0 +1,19 @@
+
+CC := pgcc
+ACCFLAGS_1 := -fast -ta=tesla:cc70 -Minfo=accel
+ACCFLAGS_2 := -fast -ta=tesla:cc70,managed -Minfo=accel
+
+laplace_update: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_1} -o laplace_update jacobi.c laplace2d.c
+
+laplace_no_update: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_1} -o laplace_no_update jacobi.c laplace2d.c
+
+laplace_no_managed: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_1} -o laplace jacobi.c laplace2d.c
+
+laplace_managed: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_2} -o laplace_managed jacobi.c laplace2d.c
+
+clean:
+	rm -f *.o laplace laplace_*

+ 19 - 0
hpc/openacc/English/C/source_code/lab2/update/Makefile

@@ -0,0 +1,19 @@
+
+CC := pgcc
+ACCFLAGS_1 := -fast -ta=tesla:cc70 -Minfo=accel
+ACCFLAGS_2 := -fast -ta=tesla:cc70,managed -Minfo=accel
+
+laplace_update: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_1} -o laplace_update jacobi.c laplace2d.c
+
+laplace_no_update: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_1} -o laplace_no_update jacobi.c laplace2d.c
+
+laplace_no_managed: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_1} -o laplace jacobi.c laplace2d.c
+
+laplace_managed: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_2} -o laplace_managed jacobi.c laplace2d.c
+
+clean:
+	rm -f *.o laplace laplace_*

+ 19 - 0
hpc/openacc/English/C/source_code/lab2/update/solution/Makefile

@@ -0,0 +1,19 @@
+
+CC := pgcc
+ACCFLAGS_1 := -fast -ta=tesla:cc70 -Minfo=accel
+ACCFLAGS_2 := -fast -ta=tesla:cc70,managed -Minfo=accel
+
+laplace_update: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_1} -o laplace_update jacobi.c laplace2d.c
+
+laplace_no_update: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_1} -o laplace_no_update jacobi.c laplace2d.c
+
+laplace_no_managed: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_1} -o laplace jacobi.c laplace2d.c
+
+laplace_managed: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS_2} -o laplace_managed jacobi.c laplace2d.c
+
+clean:
+	rm -f *.o laplace laplace_*

+ 9 - 0
hpc/openacc/English/C/source_code/lab3/Makefile

@@ -0,0 +1,9 @@
+
+CC := pgcc
+ACCFLAGS:= -fast -ta=tesla:cc70 -Minfo=accel
+
+laplace: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS} -o laplace jacobi.c laplace2d.c
+
+clean:
+	rm -f *.o laplace 

+ 9 - 0
hpc/openacc/English/C/source_code/lab3/solutions/collapse/Makefile

@@ -0,0 +1,9 @@
+
+CC := pgcc
+ACCFLAGS:= -fast -ta=tesla:cc70 -Minfo=accel
+
+laplace: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS} -o laplace jacobi.c laplace2d.c
+
+clean:
+	rm -f *.o laplace 

+ 9 - 0
hpc/openacc/English/C/source_code/lab3/solutions/tile/Makefile

@@ -0,0 +1,9 @@
+
+CC := pgcc
+ACCFLAGS:= -fast -ta=tesla:cc70 -Minfo=accel
+
+laplace: jacobi.c laplace2d.c
+	${CC} ${ACCFLAGS} -o laplace jacobi.c laplace2d.c
+
+clean:
+	rm -f *.o laplace 

+ 1 - 1
hpc/openacc/English/Fortran/jupyter_notebook/.ipynb_checkpoints/openacc_fortran_lab1-bonus-checkpoint.ipynb

@@ -68,7 +68,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgfortran -fast -ta=tesla,managed -Minfo=accel -o laplace laplace2d.f90 jacobi.f90 && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_gpu && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {

+ 3 - 3
hpc/openacc/English/Fortran/jupyter_notebook/.ipynb_checkpoints/openacc_fortran_lab1-checkpoint.ipynb

@@ -244,7 +244,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgfortran -fast -o laplace laplace2d.f90 jacobi.f90 && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_serial && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {
@@ -376,7 +376,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgfortran -fast -ta=multicore -Minfo=accel -o laplace laplace2d.f90 jacobi.f90 && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_multicore && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {
@@ -426,7 +426,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgfortran -fast -ta=tesla:cc70,managed -Minfo=accel -o laplace  laplace2d.f90 jacobi.f90 && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_gpu && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {

Fichier diff supprimé car celui-ci est trop grand
+ 11 - 9
hpc/openacc/English/Fortran/jupyter_notebook/.ipynb_checkpoints/openacc_fortran_lab2-checkpoint.ipynb


+ 3 - 3
hpc/openacc/English/Fortran/jupyter_notebook/.ipynb_checkpoints/openacc_fortran_lab3-checkpoint.ipynb

@@ -78,7 +78,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "!pgfortran -fast -ta=tesla:cc70 -Minfo=accel -o laplace_baseline jacobi.f90 laplace2d.f90 && ./laplace_baseline"
+    "!cd ../source_code/lab3 && make clean && make && ./laplace"
    ]
   },
   {
@@ -168,7 +168,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "!pgfortran -ta=tesla:cc70 -Minfo=accel -o laplace_collapse laplace2d.f90 jacobi.f90 && ./laplace_collapse"
+    "!cd ../source_code/lab3 && make clean && make && ./laplace"
    ]
   },
   {
@@ -278,7 +278,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "!pgfortran -ta=tesla:cc70 -Minfo=accel -o laplace_tile laplace2d.f90 jacobi.f90 && ./laplace_tile"
+    "!cd ../source_code/lab3 && make clean && make && ./laplace"
    ]
   },
   {

+ 1 - 1
hpc/openacc/English/Fortran/jupyter_notebook/openacc_fortran_lab1-bonus.ipynb

@@ -68,7 +68,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgfortran -fast -ta=tesla,managed -Minfo=accel -o laplace laplace2d.f90 jacobi.f90 && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_gpu && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {

+ 3 - 3
hpc/openacc/English/Fortran/jupyter_notebook/openacc_fortran_lab1.ipynb

@@ -244,7 +244,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgfortran -fast -o laplace laplace2d.f90 jacobi.f90 && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_serial && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {
@@ -376,7 +376,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgfortran -fast -ta=multicore -Minfo=accel -o laplace laplace2d.f90 jacobi.f90 && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_multicore && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {
@@ -426,7 +426,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "! pgfortran -fast -ta=tesla:cc70,managed -Minfo=accel -o laplace  laplace2d.f90 jacobi.f90 && echo \"Compilation Successful!\" && ./laplace"
+    "!cd ../source_code/lab1 && make clean && make laplace_gpu && echo \"Compilation Successful!\" && ./laplace"
    ]
   },
   {

Fichier diff supprimé car celui-ci est trop grand
+ 11 - 9
hpc/openacc/English/Fortran/jupyter_notebook/openacc_fortran_lab2.ipynb


+ 3 - 3
hpc/openacc/English/Fortran/jupyter_notebook/openacc_fortran_lab3.ipynb

@@ -78,7 +78,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "!pgfortran -fast -ta=tesla:cc70 -Minfo=accel -o laplace_baseline jacobi.f90 laplace2d.f90 && ./laplace_baseline"
+    "!cd ../source_code/lab3 && make clean && make && ./laplace"
    ]
   },
   {
@@ -168,7 +168,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "!pgfortran -ta=tesla:cc70 -Minfo=accel -o laplace_collapse laplace2d.f90 jacobi.f90 && ./laplace_collapse"
+    "!cd ../source_code/lab3 && make clean && make && ./laplace"
    ]
   },
   {
@@ -278,7 +278,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "!pgfortran -ta=tesla:cc70 -Minfo=accel -o laplace_tile laplace2d.f90 jacobi.f90 && ./laplace_tile"
+    "!cd ../source_code/lab3 && make clean && make && ./laplace"
    ]
   },
   {

+ 17 - 0
hpc/openacc/English/Fortran/source_code/lab1/Makefile

@@ -0,0 +1,17 @@
+
+FC := pgfortran
+ACCFLAGS_1 := -fast
+ACCFLAGS_2 := -fast -ta=multicore -Minfo=accel
+ACCFLAGS_3 := -fast -ta=tesla,managed -Minfo=accel
+
+laplace_serial: laplace2d.f90 jacobi.f90 
+	${FC} ${ACCFLAGS_1} -o laplace laplace2d.f90 jacobi.f90
+
+laplace_multicore: laplace2d.f90 jacobi.f90 
+	${FC} ${ACCFLAGS_2} -o laplace laplace2d.f90 jacobi.f90 
+
+laplace_gpu: laplace2d.f90 jacobi.f90 
+	${FC} ${ACCFLAGS_3} -o laplace laplace2d.f90 jacobi.f90 
+
+clean:
+	rm -f *.o laplace

+ 17 - 0
hpc/openacc/English/Fortran/source_code/lab1/solutions/Makefile

@@ -0,0 +1,17 @@
+
+FC := pgfortran
+ACCFLAGS_1 := -fast
+ACCFLAGS_2 := -fast -ta=multicore -Minfo=accel
+ACCFLAGS_3 := -fast -ta=tesla,managed -Minfo=accel
+
+laplace_serial: laplace2d.f90 jacobi.f90 
+	${FC} ${ACCFLAGS_1} -o laplace laplace2d.f90 jacobi.f90
+
+laplace_multicore: laplace2d.f90 jacobi.f90 
+	${FC} ${ACCFLAGS_2} -o laplace laplace2d.f90 jacobi.f90 
+
+laplace_gpu: laplace2d.f90 jacobi.f90 
+	${FC} ${ACCFLAGS_3} -o laplace laplace2d.f90 jacobi.f90 
+
+clean:
+	rm -f *.o laplace

BIN
hpc/openacc/English/Fortran/source_code/lab1/solutions/a.out


+ 19 - 0
hpc/openacc/English/Fortran/source_code/lab2/Makefile

@@ -0,0 +1,19 @@
+
+FC := pgfortran
+ACCFLAGS_1 := -fast -ta=tesla:cc70 -Minfo=accel
+ACCFLAGS_2 := -fast -ta=tesla:cc70,managed -Minfo=accel
+
+laplace_update: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS_1} -o laplace_update laplace2d.f90 jacobi.f90
+
+laplace_no_update: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS_1} -o laplace_no_update laplace2d.f90 jacobi.f90
+
+laplace_no_managed: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS_1} -o laplace laplace2d.f90 jacobi.f90
+
+laplace_managed: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS_2} -o laplace_managed laplace2d.f90 jacobi.f90
+
+clean:
+	rm -f *.o laplace laplace_*

+ 19 - 0
hpc/openacc/English/Fortran/source_code/lab2/solutions/Makefile

@@ -0,0 +1,19 @@
+
+FC := pgfortran
+ACCFLAGS_1 := -fast -ta=tesla:cc70 -Minfo=accel
+ACCFLAGS_2 := -fast -ta=tesla:cc70,managed -Minfo=accel
+
+laplace_update: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS_1} -o laplace_update laplace2d.f90 jacobi.f90
+
+laplace_no_update: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS_1} -o laplace_no_update laplace2d.f90 jacobi.f90
+
+laplace_no_managed: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS_1} -o laplace laplace2d.f90 jacobi.f90
+
+laplace_managed: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS_2} -o laplace_managed laplace2d.f90 jacobi.f90
+
+clean:
+	rm -f *.o laplace laplace_*

+ 19 - 0
hpc/openacc/English/Fortran/source_code/lab2/update/Makefile

@@ -0,0 +1,19 @@
+
+FC := pgfortran
+ACCFLAGS_1 := -fast -ta=tesla:cc70 -Minfo=accel
+ACCFLAGS_2 := -fast -ta=tesla:cc70,managed -Minfo=accel
+
+laplace_update: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS_1} -o laplace_update laplace2d.f90 jacobi.f90
+
+laplace_no_update: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS_1} -o laplace_no_update laplace2d.f90 jacobi.f90
+
+laplace_no_managed: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS_1} -o laplace laplace2d.f90 jacobi.f90
+
+laplace_managed: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS_2} -o laplace_managed laplace2d.f90 jacobi.f90
+
+clean:
+	rm -f *.o laplace laplace_*

+ 19 - 0
hpc/openacc/English/Fortran/source_code/lab2/update/solution/Makefile

@@ -0,0 +1,19 @@
+
+FC := pgfortran
+ACCFLAGS_1 := -fast -ta=tesla:cc70 -Minfo=accel
+ACCFLAGS_2 := -fast -ta=tesla:cc70,managed -Minfo=accel
+
+laplace_update: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS_1} -o laplace_update laplace2d.f90 jacobi.f90
+
+laplace_no_update: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS_1} -o laplace_no_update laplace2d.f90 jacobi.f90
+
+laplace_no_managed: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS_1} -o laplace laplace2d.f90 jacobi.f90
+
+laplace_managed: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS_2} -o laplace_managed laplace2d.f90 jacobi.f90
+
+clean:
+	rm -f *.o laplace laplace_*

+ 9 - 0
hpc/openacc/English/Fortran/source_code/lab3/Makefile

@@ -0,0 +1,9 @@
+
+FC := pgfortran
+ACCFLAGS:= -fast -ta=tesla:cc70 -Minfo=accel
+
+laplace: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS} -o laplace laplace2d.f90 jacobi.f90
+
+clean:
+	rm -f *.o laplace 

+ 9 - 0
hpc/openacc/English/Fortran/source_code/lab3/solutions/collapse/Makefile

@@ -0,0 +1,9 @@
+
+FC := pgfortran
+ACCFLAGS:= -fast -ta=tesla:cc70 -Minfo=accel
+
+laplace: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS} -o laplace laplace2d.f90 jacobi.f90
+
+clean:
+	rm -f *.o laplace 

+ 9 - 0
hpc/openacc/English/Fortran/source_code/lab3/solutions/tile/Makefile

@@ -0,0 +1,9 @@
+
+FC := pgfortran
+ACCFLAGS:= -fast -ta=tesla:cc70 -Minfo=accel
+
+laplace: laplace2d.f90 jacobi.f90
+	${FC} ${ACCFLAGS} -o laplace laplace2d.f90 jacobi.f90
+
+clean:
+	rm -f *.o laplace