From c371245bc43d2f1d86f956100c0e3819539fce94 Mon Sep 17 00:00:00 2001 From: Philip Nelson Date: Fri, 12 Oct 2018 23:40:20 -0600 Subject: [PATCH] added global sum and game of life --- .../7-GlobalSum/main.cpp | 168 ++++++++++++ .../7-GlobalSum/makefile | 12 + .../7-GlobalSum/random.hpp | 72 ++++++ .../7-GlobalSum/report/philip_nelson_hw7.pdf | Bin 0 -> 97289 bytes .../7-GlobalSum/report/philip_nelson_hw7.tex | 96 +++++++ .../8-ConwaysGameOfLifeParallel/Makefile | 11 + .../8-ConwaysGameOfLifeParallel/bench100.csv | 10 + .../8-ConwaysGameOfLifeParallel/benchmark.csv | 10 + .../8-ConwaysGameOfLifeParallel/benchmark.gp | 11 + .../8-ConwaysGameOfLifeParallel/cell.hpp | 13 + .../communication.hpp | 91 +++++++ .../8-ConwaysGameOfLifeParallel/main.cpp | 201 +++++++++++++++ .../8-ConwaysGameOfLifeParallel/out.gif | Bin 0 -> 79089 bytes .../8-ConwaysGameOfLifeParallel/output.hpp | 103 ++++++++ .../8-ConwaysGameOfLifeParallel/random.hpp | 81 ++++++ .../8-ConwaysGameOfLifeParallel/release | Bin 0 -> 137320 bytes .../report/images/1.png | Bin 0 -> 1920 bytes .../report/images/10.png | Bin 0 -> 1744 bytes .../report/images/100.png | Bin 0 -> 1588 bytes .../report/images/11.png | Bin 0 -> 1748 bytes .../report/images/12.png | Bin 0 -> 1752 bytes .../report/images/13.png | Bin 0 -> 1732 bytes .../report/images/14.png | Bin 0 -> 1736 bytes .../report/images/15.png | Bin 0 -> 1743 bytes .../report/images/16.png | Bin 0 -> 1757 bytes .../report/images/17.png | Bin 0 -> 1745 bytes .../report/images/18.png | Bin 0 -> 1746 bytes .../report/images/19.png | Bin 0 -> 1734 bytes .../report/images/2.png | Bin 0 -> 1829 bytes .../report/images/20.png | Bin 0 -> 1727 bytes .../report/images/21.png | Bin 0 -> 1737 bytes .../report/images/22.png | Bin 0 -> 1746 bytes .../report/images/23.png | Bin 0 -> 1764 bytes .../report/images/24.png | Bin 0 -> 1747 bytes .../report/images/25.png | Bin 0 -> 1713 bytes .../report/images/26.png | Bin 0 -> 1745 bytes .../report/images/27.png | Bin 0 -> 1761 bytes .../report/images/28.png | Bin 0 -> 1767 bytes .../report/images/29.png | Bin 0 -> 1762 bytes .../report/images/3.png | Bin 0 -> 1798 bytes .../report/images/30.png | Bin 0 -> 1750 bytes .../report/images/31.png | Bin 0 -> 1746 bytes .../report/images/32.png | Bin 0 -> 1806 bytes .../report/images/33.png | Bin 0 -> 1814 bytes .../report/images/34.png | Bin 0 -> 1816 bytes .../report/images/35.png | Bin 0 -> 1762 bytes .../report/images/36.png | Bin 0 -> 1751 bytes .../report/images/37.png | Bin 0 -> 1751 bytes .../report/images/38.png | Bin 0 -> 1712 bytes .../report/images/39.png | Bin 0 -> 1712 bytes .../report/images/4.png | Bin 0 -> 1747 bytes .../report/images/40.png | Bin 0 -> 1699 bytes .../report/images/41.png | Bin 0 -> 1693 bytes .../report/images/42.png | Bin 0 -> 1695 bytes .../report/images/43.png | Bin 0 -> 1705 bytes .../report/images/44.png | Bin 0 -> 1702 bytes .../report/images/45.png | Bin 0 -> 1668 bytes .../report/images/46.png | Bin 0 -> 1705 bytes .../report/images/47.png | Bin 0 -> 1688 bytes .../report/images/48.png | Bin 0 -> 1671 bytes .../report/images/49.png | Bin 0 -> 1679 bytes .../report/images/5.png | Bin 0 -> 1737 bytes .../report/images/50.png | Bin 0 -> 1699 bytes .../report/images/51.png | Bin 0 -> 1693 bytes .../report/images/52.png | Bin 0 -> 1703 bytes .../report/images/53.png | Bin 0 -> 1684 bytes .../report/images/54.png | Bin 0 -> 1670 bytes .../report/images/55.png | Bin 0 -> 1700 bytes .../report/images/56.png | Bin 0 -> 1679 bytes .../report/images/57.png | Bin 0 -> 1698 bytes .../report/images/58.png | Bin 0 -> 1651 bytes .../report/images/59.png | Bin 0 -> 1629 bytes .../report/images/6.png | Bin 0 -> 1730 bytes .../report/images/60.png | Bin 0 -> 1626 bytes .../report/images/61.png | Bin 0 -> 1622 bytes .../report/images/62.png | Bin 0 -> 1676 bytes .../report/images/63.png | Bin 0 -> 1648 bytes .../report/images/64.png | Bin 0 -> 1630 bytes .../report/images/65.png | Bin 0 -> 1663 bytes .../report/images/66.png | Bin 0 -> 1704 bytes .../report/images/67.png | Bin 0 -> 1689 bytes .../report/images/68.png | Bin 0 -> 1681 bytes .../report/images/69.png | Bin 0 -> 1675 bytes .../report/images/7.png | Bin 0 -> 1760 bytes .../report/images/70.png | Bin 0 -> 1661 bytes .../report/images/71.png | Bin 0 -> 1677 bytes .../report/images/72.png | Bin 0 -> 1704 bytes .../report/images/73.png | Bin 0 -> 1737 bytes .../report/images/74.png | Bin 0 -> 1727 bytes .../report/images/75.png | Bin 0 -> 1671 bytes .../report/images/76.png | Bin 0 -> 1680 bytes .../report/images/77.png | Bin 0 -> 1636 bytes .../report/images/78.png | Bin 0 -> 1634 bytes .../report/images/79.png | Bin 0 -> 1644 bytes .../report/images/8.png | Bin 0 -> 1742 bytes .../report/images/80.png | Bin 0 -> 1626 bytes .../report/images/81.png | Bin 0 -> 1615 bytes .../report/images/82.png | Bin 0 -> 1585 bytes .../report/images/83.png | Bin 0 -> 1584 bytes .../report/images/84.png | Bin 0 -> 1598 bytes .../report/images/85.png | Bin 0 -> 1597 bytes .../report/images/86.png | Bin 0 -> 1600 bytes .../report/images/87.png | Bin 0 -> 1606 bytes .../report/images/88.png | Bin 0 -> 1607 bytes .../report/images/89.png | Bin 0 -> 1621 bytes .../report/images/9.png | Bin 0 -> 1755 bytes .../report/images/90.png | Bin 0 -> 1621 bytes .../report/images/91.png | Bin 0 -> 1612 bytes .../report/images/92.png | Bin 0 -> 1589 bytes .../report/images/93.png | Bin 0 -> 1618 bytes .../report/images/94.png | Bin 0 -> 1595 bytes .../report/images/95.png | Bin 0 -> 1584 bytes .../report/images/96.png | Bin 0 -> 1592 bytes .../report/images/97.png | Bin 0 -> 1576 bytes .../report/images/98.png | Bin 0 -> 1574 bytes .../report/images/99.png | Bin 0 -> 1579 bytes .../report/images/bench500.png | Bin 0 -> 7384 bytes .../report/images/benchmark.png | Bin 0 -> 7147 bytes .../report/philip_nelson_hw8.pdf | Bin 0 -> 343992 bytes .../report/philip_nelson_hw8.tex | 243 ++++++++++++++++++ .../8-ConwaysGameOfLifeParallel/rules.hpp | 108 ++++++++ .../8-ConwaysGameOfLifeParallel/test.sh | 6 + .../8-ConwaysGameOfLifeParallel/writePNG.hpp | 76 ++++++ 123 files changed, 1312 insertions(+) create mode 100644 CS5500_ParallelProgramming/7-GlobalSum/main.cpp create mode 100644 CS5500_ParallelProgramming/7-GlobalSum/makefile create mode 100644 CS5500_ParallelProgramming/7-GlobalSum/random.hpp create mode 100644 CS5500_ParallelProgramming/7-GlobalSum/report/philip_nelson_hw7.pdf create mode 100644 CS5500_ParallelProgramming/7-GlobalSum/report/philip_nelson_hw7.tex create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/Makefile create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/bench100.csv create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/benchmark.csv create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/benchmark.gp create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/cell.hpp create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/communication.hpp create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/main.cpp create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/out.gif create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/output.hpp create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/random.hpp create mode 100755 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/release create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/1.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/10.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/100.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/11.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/12.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/13.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/14.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/15.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/16.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/17.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/18.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/19.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/2.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/20.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/21.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/22.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/23.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/24.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/25.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/26.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/27.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/28.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/29.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/3.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/30.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/31.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/32.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/33.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/34.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/35.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/36.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/37.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/38.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/39.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/4.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/40.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/41.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/42.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/43.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/44.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/45.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/46.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/47.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/48.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/49.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/5.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/50.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/51.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/52.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/53.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/54.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/55.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/56.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/57.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/58.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/59.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/6.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/60.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/61.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/62.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/63.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/64.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/65.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/66.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/67.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/68.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/69.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/7.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/70.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/71.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/72.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/73.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/74.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/75.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/76.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/77.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/78.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/79.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/8.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/80.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/81.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/82.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/83.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/84.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/85.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/86.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/87.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/88.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/89.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/9.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/90.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/91.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/92.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/93.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/94.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/95.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/96.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/97.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/98.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/99.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/bench500.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/benchmark.png create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/philip_nelson_hw8.pdf create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/philip_nelson_hw8.tex create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/rules.hpp create mode 100755 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/test.sh create mode 100644 CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/writePNG.hpp diff --git a/CS5500_ParallelProgramming/7-GlobalSum/main.cpp b/CS5500_ParallelProgramming/7-GlobalSum/main.cpp new file mode 100644 index 0000000..751d8e7 --- /dev/null +++ b/CS5500_ParallelProgramming/7-GlobalSum/main.cpp @@ -0,0 +1,168 @@ +#include "random.hpp" +#include +#include +#include +#include +#include +#include + +#define slep 100000 + +void print1per(int data, std::string title = "") +{ + int rank; + int word_size; + + MPI_Comm_rank(MPI_COMM_WORLD, &rank); + MPI_Comm_size(MPI_COMM_WORLD, &word_size); + + if (0 == rank) + { + int* dArray = new int[word_size]; + MPI_Gather(&data, 1, MPI_INT, dArray, 1, MPI_INT, 0, MPI_COMM_WORLD); + + std::cout << title << '\n'; + for (int i = 0; i < word_size; ++i) + { + std::cout << std::setw(5) << i << std::setw(5) << dArray[i] << "\n"; + } + std::cout << std::endl; + } + else + { + MPI_Gather(&data, 1, MPI_INT, nullptr, 1, MPI_INT, 0, MPI_COMM_WORLD); + } +} + +int cube(int c, int sendData, int rank) +{ + int recvData; + auto dest = rank ^ (1 << c); + + MPI_Send(&sendData, 1, MPI_INT, dest, 0, MPI_COMM_WORLD); + MPI_Recv(&recvData, 1, MPI_INT, dest, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE); + + return recvData; +} + +int ring(int dir, int sendData, int rank, int world_size) +{ + int recvData; + auto dest = (rank + 1 * dir) % world_size; + auto src = (rank - 1 * dir) % world_size; + + MPI_Send(&sendData, 1, MPI_INT, dest, 0, MPI_COMM_WORLD); + MPI_Recv(&recvData, 1, MPI_INT, src, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE); + + return recvData; +} + +void cubeSum(int num, int rank, int world_size) +{ + int log2n = log2(world_size); + for (auto i = 0; i < log2n; ++i) + { + num += cube(i, num, rank); + usleep(slep); + } + print1per(num, "cube sum"); +} + +void ringSum(int num, int rank, int world_size) +{ + int next, prev = num; + + for (auto i = 0; i < world_size - 1; ++i) + { + next = ring(1, prev, rank, world_size); + num += next; + prev = next; + usleep(slep); + } + print1per(num, "ring sum"); +} + +void masterSlaveSum(int num, int rank, int world_size) +{ + if (0 == rank) + { + int recvData; + for (auto i = 1; i < world_size; ++i) + { + MPI_Recv(&recvData, + 1, + MPI_INT, + MPI_ANY_SOURCE, + 0, + MPI_COMM_WORLD, + MPI_STATUS_IGNORE); + num += recvData; + usleep(slep); + } + std::cout << "master slave sum\n 0 " << num << "\n\n"; + } + else + { + MPI_Send(&num, 1, MPI_INT, 0, 0, MPI_COMM_WORLD); + } +} + +void mpiAllReduce(int num) +{ + MPI_Allreduce(&num, &num, 1, MPI_FLOAT, MPI_SUM, MPI_COMM_WORLD); + usleep(slep); + print1per(num, "all reduce"); +} + +int main(int argc, char** argv) +{ + MPI_Init(&argc, &argv); + + int rank, world_size; + MPI_Comm_rank(MPI_COMM_WORLD, &rank); + MPI_Comm_size(MPI_COMM_WORLD, &world_size); + + if (0 != (world_size & (world_size - 1))) + { + if (rank == 0) + { + std::cerr << "There must be a power of 2 number of threads\n"; + } + + MPI_Finalize(); + exit(EXIT_SUCCESS); + } + + int num; + if (0 == rank) + { + std::vector data(world_size); + random_double_fill(begin(data), end(data), 0, 10); + MPI_Scatter(data.data(), 1, MPI_INT, &num, 1, MPI_INT, 0, MPI_COMM_WORLD); + print1per(num, "original data"); + } + else + { + MPI_Scatter(nullptr, 1, MPI_INT, &num, 1, MPI_INT, 0, MPI_COMM_WORLD); + print1per(num); + } + + auto t1 = MPI_Wtime(); + cubeSum(num, rank, world_size); + auto t2 = MPI_Wtime(); + ringSum(num, rank, world_size); + auto t3 = MPI_Wtime(); + masterSlaveSum(num, rank, world_size); + auto t4 = MPI_Wtime(); + mpiAllReduce(num); + auto t5 = MPI_Wtime(); + + if (0 == rank) + std::cout << "cube: " << t2 - t1 << "\nring: " << t3 - t2 + << "\nmaster slave: " << t4 - t3 << "\nall reduce: " << t5 - t4 + << "\n"; + + MPI_Finalize(); + + return (EXIT_SUCCESS); +} diff --git a/CS5500_ParallelProgramming/7-GlobalSum/makefile b/CS5500_ParallelProgramming/7-GlobalSum/makefile new file mode 100644 index 0000000..7781062 --- /dev/null +++ b/CS5500_ParallelProgramming/7-GlobalSum/makefile @@ -0,0 +1,12 @@ +OBJS = main.cpp +EXECS=release +MPICC?=mpic++ +FLAGS=-O3 + +all: ${EXECS} + +release: ${OBJS} + ${MPICC} ${FLAGS} ${OBJS} -o release.out + +clean: + rm -f ${EXECS} diff --git a/CS5500_ParallelProgramming/7-GlobalSum/random.hpp b/CS5500_ParallelProgramming/7-GlobalSum/random.hpp new file mode 100644 index 0000000..44a34b6 --- /dev/null +++ b/CS5500_ParallelProgramming/7-GlobalSum/random.hpp @@ -0,0 +1,72 @@ +#ifndef RANDOM_HPP +#define RANDOM_HPP + +#include +#include +#include + +/** + * Generate a random number from [low, high] + * + * @param low The lower bound + * @param high The upper bound + * @return A random number on the range [low, high] + */ +int random_int(int low, int high) +{ + static std::random_device rd; + static std::mt19937 mt(rd()); + std::uniform_int_distribution<> dist(low, high); + return dist(mt); +} + +/** + * Generate a random number from [low, high) + * + * @param low The lower bound + * @param high The upper bound + * @return A random number on the range [low, high) + */ +double random_double(double low, double high) +{ + static std::random_device rd; + static std::mt19937 mt(rd()); + std::uniform_real_distribution<> dist(low, high); + return dist(mt); +} + +/** + * Fill a container from [first, last) with random numbers from [low, high] + * + * @param first Iterator to beginning of range to fill + * @param last Iterator to end of range to fill + * @param low The lower bound + * @param high The upper bound + */ +template +void random_int_fill(it first, it last, const int low, const int high) +{ + static std::random_device rd; + static std::mt19937 mt(rd()); + std::uniform_int_distribution<> dist(low, high); + std::generate(first, last, std::bind(dist, mt)); +} + +/** + * Fill a container from [first, last) with random numbers from [low, high) + * + * @param first Iterator to beginning of range to fill + * @param last Iterator to end of range to fill + * @param low The lower bound + * @param high The upper bound + */ +template +void random_double_fill(it first, it last, const double low, const double high) +{ + static std::random_device rd; + static std::mt19937 mt(rd()); + std::uniform_real_distribution dist(low, high); + std::generate(first, last, std::bind(dist, mt)); +} + +#endif diff --git a/CS5500_ParallelProgramming/7-GlobalSum/report/philip_nelson_hw7.pdf b/CS5500_ParallelProgramming/7-GlobalSum/report/philip_nelson_hw7.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2c7f13daa63edf0e1dd7e8b5594ad9f85ba20e41 GIT binary patch literal 97289 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 +#include + +using World = std::vector>; + +/** + * Share border information with neighbors + * + * @param world The representation of the world known to the process + * @param rank The process rank + * @param world_size The number of processes + */ +void send_recv(World& world, int rank, int world_size) +{ + auto destN = ((rank - 1) + world_size) % world_size; + auto destS = (rank + 1) % world_size; + auto ct = world[1].size(); + /* clang-format off */ + MPI_Request request1, request2; + MPI_Isend( + world[1].data(), ct, MPI_INT, destN, 0, MPI_COMM_WORLD, &request1); + MPI_Recv( + world[world.size()-1].data(), ct, MPI_INT, destS, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE); + MPI_Isend( + world[world.size()-2].data(), ct, MPI_INT, destS, 0, MPI_COMM_WORLD, &request2); + MPI_Recv( + world[0].data(), ct, MPI_INT, destN, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE); + /* clang-format on */ + int flag1, flag2; + MPI_Test(&request1, &flag1, MPI_STATUS_IGNORE); + if (!flag1) std::cout << "Request 1 not finished\n"; + MPI_Test(&request1, &flag2, MPI_STATUS_IGNORE); + if (!flag2) std::cout << "Request 2 not finished\n"; +} + +/** + * Gather all the strips to the master, (called by the master) + * + * @param world The representation of the whole world + * @param strip The representation of the world known to the process + * @param rpp The number of rows given to each process + * @param world_size The number of processes + */ +void gatherMaster(World& world, World& strip, int rpp, int world_size) +{ + MPI_Status stat; + for (auto src = 1, row = rpp; src < world_size; ++src) + { + for (auto recvd = 0; recvd < rpp; ++recvd, ++row) + { + MPI_Probe(MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &stat); + auto r = stat.MPI_SOURCE * rpp + stat.MPI_TAG; + MPI_Recv(world[r].data(), + world[r].size(), + MPI_INT, + stat.MPI_SOURCE, + stat.MPI_TAG, + MPI_COMM_WORLD, + MPI_STATUS_IGNORE); + } + } + for (auto row = 0; row < rpp; ++row) + { + world[row] = strip[row + 1]; + } +} + +/** + * Gather all the strips to the master (called by the slaves) + * + * @param strip The representation of the world known to the process + * @param rpp The number of rows given to each process + */ +void gatherSlave(World& strip, int rpp) +{ + for (auto row = 0; row < rpp; ++row) + { + MPI_Send(strip[row + 1].data(), + strip[row + 1].size(), + MPI_INT, + 0, + row, + MPI_COMM_WORLD); + } +} + +#endif diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/main.cpp b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/main.cpp new file mode 100644 index 0000000..7ff3616 --- /dev/null +++ b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/main.cpp @@ -0,0 +1,201 @@ +#include "cell.hpp" +#include "communication.hpp" +#include "output.hpp" +#include "random.hpp" +#include "rules.hpp" +#include +#include +#include +#include +#include +#include +#include + +inline void help(std::string msg, int rank) +{ + if (rank == 0) + { + std::cout << msg << std::endl; + + std::cout + << "usage gameOfLife width height generations makeOutput outputType" + << std::endl; + } +} + +inline void end() +{ + MPI_Finalize(); + exit(EXIT_SUCCESS); +} + +int main(int argc, char** argv) +{ + MPI_Init(&argc, &argv); + + int rank, world_size; + MPI_Comm_rank(MPI_COMM_WORLD, &rank); + MPI_Comm_size(MPI_COMM_WORLD, &world_size); + + if (argc < 4) + { + help("", rank); + end(); + } + + auto shouldOutput = (bool)std::stoi(argv[4]); + Output output_type = Output::ASCII; + if (shouldOutput) + { + if (argc > 5) + { + output_type = static_cast(std::stoi(argv[5])); + } + else + { + help("Not enough arguments provided", rank); + end(); + } + } + + if (output_type > 1) + { + help("invalid outputType:\n 0 - term ascii\n 1 - gif\n", rank); + end(); + } + + auto width = std::stoi(argv[1]); + auto hight = std::stoi(argv[2]); + auto iters = std::stoi(argv[3]); + auto rpp = hight / world_size; + auto aspectRatio = (double)width / hight; + width = rpp * world_size; + hight = width / aspectRatio; + + //=========================================================================// + // Master // + //=========================================================================// + if (0 == rank) + { + std::cout << "Simulating:\n" + << "---------------------\n" + << "\n" + << width << " x " << hight << " world\n" + << "Processes: " << world_size << "\n" + << "Rows Per Process: " << rpp << "\n" + << "Make output: " << std::boolalpha << shouldOutput << "\n" + << "---------------------\n" + << "\n"; + + /* setup world */ + World world(hight); + std::for_each(begin(world), end(world), [&](std::vector& row) { + for (auto i = 0; i < width; ++i) + { + row.push_back(random_int(0, 6) == 0 ? Cell::ALIVE : Cell::DEAD); + } + }); + + /* print the first generation */ + if (shouldOutput) print_world(world, output_type); + + /* send strips to other processes */ + for (int dest = 1, row = rpp; dest < world_size; ++dest) + { + for (int tag = 0; tag < rpp; ++tag, ++row) + { + MPI_Send(world[row].data(), width, MPI_INT, dest, tag, MPI_COMM_WORLD); + } + } + + /* copy out master's strip */ + World strip(rpp + 2); + std::for_each(begin(strip), end(strip), [&](std::vector& row) { + row.resize(width); + }); + for (int row = 0; row < rpp; ++row) + { + strip[row + 1] = world[row]; + } + + /* Run the simulation */ + auto simulationTime = 0.0; + auto imageTime = 0.0; + double t1, t2, t3; + for (auto i = 0; i < iters; ++i) + { + t1 = MPI_Wtime(); + + send_recv(strip, rank, world_size); + natural_selection(strip); + gatherMaster(world, strip, rpp, world_size); + + t2 = MPI_Wtime(); + + if (shouldOutput) + { + print_world(world, output_type); + std::cout << "generation " << i << " complete\n"; + } + + t3 = MPI_Wtime(); + + simulationTime += t2 - t1; + imageTime += t3 - t2; + MPI_Barrier(MPI_COMM_WORLD); + } + + /* convert the images in ./images/ to a gif using imagemagick */ + auto t4 = MPI_Wtime(); + if (shouldOutput) + system("convert -loop 0 -delay 25 `ls images | sort -g | sed " + "'s-^-images/-'` out.gif"); + auto t5 = MPI_Wtime(); + std::cout << "Simulation Time: " << simulationTime + << "\nImage Write Time: " << imageTime + << "\ngif Creating time: " << t5 - t4 << std::endl; + std::ofstream fout; + // fout.open("benchmark.csv", std::fstream::app); + // fout << world_size << ',' << simulationTime << std::endl; + } + //=========================================================================// + // Slave // + //=========================================================================// + else + { + World strip(rpp + 2); + + /* resize rows to receive from neighbors */ + std::for_each(begin(strip), end(strip), [&](std::vector& row) { + row.resize(width); + }); + + /* receive strip from master */ + MPI_Status stat; + for (auto row = 0; row < rpp; ++row) + { + MPI_Probe(0, MPI_ANY_TAG, MPI_COMM_WORLD, &stat); + MPI_Recv(strip[stat.MPI_TAG + 1].data(), + width, + MPI_INT, + 0, + MPI_ANY_TAG, + MPI_COMM_WORLD, + MPI_STATUS_IGNORE); + } + + /* run the simulation */ + for (auto i = 0; i < iters; ++i) + { + send_recv(strip, rank, world_size); + natural_selection(strip); + gatherSlave(strip, rpp); + + MPI_Barrier(MPI_COMM_WORLD); + } + } + + MPI_Finalize(); + + return EXIT_SUCCESS; +} diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/out.gif b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/out.gif new file mode 100644 index 0000000000000000000000000000000000000000..4b8783c1f59378aa3268baf74ddddd0f4e882ed2 GIT binary patch literal 79089 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

VMW3_abP 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 literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/output.hpp b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/output.hpp new file mode 100644 index 0000000..c2fcbb4 --- /dev/null +++ b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/output.hpp @@ -0,0 +1,103 @@ +#ifndef OUTPUT_HPP +#define OUTPUT_HPP + +#include "cell.hpp" +#include "writePNG.hpp" +#include +#include +#include +#include +#include + +enum Output +{ + ASCII, /**< print in ascii to the terminal */ + GIF /**< save as sequentially named pngs and converted to a gif */ +}; + +using World = std::vector>; + +/** + * Print a row of the world in ascii to the terminal + * + * @param row The row of the world to print + */ +void print_ascii_row(std::vector const& row) +{ + for (auto i = 0u; i < row.size(); ++i) + { + std::cout << (row[i] == Cell::ALIVE ? "*" : "."); + } + std::cout << '\n'; +} + +/** + * Print the world in ascii to the terminal + * + * @param world The representation of the whole world + */ +void print_ascii_world(World const& world) +{ + std::cout << "\033[2J\033[1;1H"; + for (auto i = 0u; i < world.size(); ++i) + { + for (auto j = 0u; j < world[0].size(); ++j) + { + std::cout << (world[i][j] == Cell::ALIVE ? "*" : "."); + } + std::cout << '\n'; + } + std::cout << std::setw(world[0].size()) << std::setfill('-') << '-' + << std::endl; +} + +/** + * Save the world as a png image + * + * @param world The representation of the whole world + */ +void print_png_world(World const& world) +{ + static int image_num = 0; + int scale = 3; + std::vector image; + std::for_each(begin(world), end(world), [&](auto row) { + for (int l = 0; l < scale; ++l) + { + std::for_each(begin(row), end(row), [&](auto c) { + auto color = c == Cell::ALIVE ? 0 : 255; + for (auto i = 0; i < scale; ++i) + { + image.push_back(color); + image.push_back(color); + image.push_back(color); + } + }); + } + }); + std::string filename = "images/" + std::to_string(++image_num) + ".png"; + save_png_libpng( + filename, image.data(), world[0].size() * scale, world.size() * scale); +} + +/** + * Print the world in the given output type + * + * @param world The representation of the whole world + * @param output_type The output type + */ +void print_world(World world, Output output_type) +{ + switch (output_type) + { + case Output::ASCII: + print_ascii_world(world); + sleep(1); + break; + case Output::GIF: + print_png_world(world); + break; + } +} + +#endif diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/random.hpp b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/random.hpp new file mode 100644 index 0000000..d239fbe --- /dev/null +++ b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/random.hpp @@ -0,0 +1,81 @@ +#ifndef RANDOM_HPP +#define RANDOM_HPP + +#include +#include +#include +#include + +/** + * Generate a random number from [low, high] + * + * @param low The lower bound + * @param high The upper bound + * @return A random number on the range [low, high] + */ +template +int random_int(int low, int high, T seed) +{ + static std::mt19937 mt(seed); + std::uniform_int_distribution<> dist(low, high); + return dist(mt); +} + +int random_int(int low, int high) +{ + static std::random_device rd; + static std::mt19937 mt(rd()); + std::uniform_int_distribution<> dist(low, high); + return dist(mt); +} + +/** + * Generate a random number from [low, high) + * + * @param low The lower bound + * @param high The upper bound + * @return A random number on the range [low, high) + */ +double random_double(double low, double high) +{ + static std::random_device rd; + static std::mt19937 mt(rd()); + std::uniform_real_distribution<> dist(low, high); + return dist(mt); +} + +/** + * Fill a container from [first, last) with random numbers from [low, high] + * + * @param first Iterator to beginning of range to fill + * @param last Iterator to end of range to fill + * @param low The lower bound + * @param high The upper bound + */ +template +void random_int_fill(it first, it last, const int low, const int high) +{ + static std::random_device rd; + static std::mt19937 mt(rd()); + std::uniform_int_distribution<> dist(low, high); + std::generate(first, last, std::bind(dist, mt)); +} + +/** + * Fill a container from [first, last) with random numbers from [low, high) + * + * @param first Iterator to beginning of range to fill + * @param last Iterator to end of range to fill + * @param low The lower bound + * @param high The upper bound + */ +template +void random_double_fill(it first, it last, const double low, const double high) +{ + static std::random_device rd; + static std::mt19937 mt(rd()); + std::uniform_real_distribution dist(low, high); + std::generate(first, last, std::bind(dist, mt)); +} + +#endif diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/release b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/release new file mode 100755 index 0000000000000000000000000000000000000000..bb064627aefecca8f0b960a1705a054213465678 GIT binary patch literal 137320 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 literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/100.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/100.png new file mode 100644 index 0000000000000000000000000000000000000000..0b4237fd932bd01788a3fea710dd97f86f4696ee GIT binary patch literal 1588 zcmbuA{ZEru6o6kbI)?#kHke~mp*1mV(w1#W#T3$2N=qhP2eb?{wh0lC%mPAy;DAQ= zQ6~v)HYHmbRs{JH>`)+#7HH&SqJ&BqgleH83|iNN1F?!GOFW3)#pFZcFbMC$G zy~%q~A{GYthxk(z6%a3qP2A)a-*1QC=JR&?9~~66m69Aw7D(3LTA!3slw={8ki7_$ z*npN=823zL{5rS+$*Tj`V4i*+>*jze%(K*EA1}leIIh0|aT?C&L8=-cp4$jiVLZ19 zT#xK;2B%tpp*MjFq^1?zfb-hh&~e>71Goz5`30Qa4%FWU((V9rv5x8lx1(D+z*XJA zP~0!C2VC=N+yvf_)c1kgUlHfCm@(c3qy~VNyFfk0RoI_51o3`!!w9(N0gyckRE=RC zGIShVg0xRy9=d7@+<@d+!D+t(?T>*H8!!~e?TQGV|D*pHKot6jE-N++8pcqnJ{O!&ZueB+X(%&Cr9S4%Hc^SO+HOMx!op(|(7 zpY=W0NULq=jl`ln|K$o=PL?3#hxv(}&8aNL603nWwqyC5?+WrxhkSX;$t)Nl zCD&H8f$RE?{B>QB<8pa8X?r|+dg9pL7dbNB%2{6@))_%_&*86&v#Kwvd%L zYdUsi=R1#^n&jPO*GY;nP3s+JU8XC;mV7Pt^@w!Z`&(`>3$~H%+)`?{+YU>MlB(7! zxfR)DsVy%<9JOQJ-dW#fxP{u@&eo4sQ~rwb%{a_V+$(;vy~4Ne|NU?()A$7o!_ypb zSk3Oa)VkNtxBM++dgM3dWH(;c_)ghHv$&M8>x;a*JQ91(i3o4Mmnci9pFNlRbSTJ? z8Ob-^p$Bv(FvlB5Gu}B#R@qgOC9jLvdTRgY!K6x-QupZAO5Ed@2gn=ebkSW?S5u=; zxIBGL8%1VvXjy_1GyncJ*AY@7meny9dvt@9l~-4JpZ-jaEJrD@8r>)QGRPc@-_AZE ze>N{vobOiQL-_0DOww8dd6PZ0qD#h4@~8F{`i|T^$eHJ)6n-{YDt#27(2~!*IuK^V=5XZLh73cp0rwP`{ literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/11.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/11.png new file mode 100644 index 0000000000000000000000000000000000000000..2e8f9cedf26bdb6f21671d1cc96b044434e2f203 GIT binary patch literal 1748 zcmXw)dsLEV7{I^TcGR+I)2)tpfi=RdX=I#kW{H!56+$hutj;t|QxB!{?lL&&=H*nP z)0*Z5713lV<}Gz)OAg&EnaaGCk>v%=MY>4mq~Z6x{Q*CI&-=XZ^S!;3AYKeu3tV00k&dRe{#gLp%VDi=_~^LiKcrf=Y--RsjVl9(e^^jCiXW z9FqZwzX1afMOVS)sII04Ioh{}99)2?s{^NA1B&Z`Rt>;NG!JV6*C1Clf(u%JM08${ zHgM7V@f+Z`5XJ4_n)gKYRDYm&GZ0e%RUJSviVM*C9!iMcLN31#uImI+9|8qkC=Zd? z4bDZ>^rAfEf}?Q$@ng0d3(_hBos~;4g7GMYV{#0 z@7=o-Gt#o-WfO<&d9l0pZ(Jh{xt8PC{hSn8T-z7%#{Jyr{24=1#f$ZoGUejVKEeZ0 z%lX>$%h`EOq~ZlrZQfp1$ZhAvs3Wd^$w_L$r00&^=@dU3=X?Ft+nwv0PM!NVCgmS) zu2t9DHx=yg-W;Lxjs2g}$tOa`@;V7F`83r}3C6+rUM$+K@9_hRnoBmKeMj3F_pahA zrMWY=Z<_5G-z;1H+@jSg>ywc{Q|;E>*EW8obbHENJ+jYphvOK_QZh?FLn$h$Sn=A4 z6wyaHJ;5%N>XaD@m z;g}M$)4>H)Wgp&v40^$@hyAjqIM9zj=>=5xq3q9-FE(m-M zIi%s&oGGOBbk+wGPoKRB?X#rYHm*xHdH%@zgX#Ked~3sLY|16!WoVowy)}5lR$2sq zCH`b6N(O8mb*`ZpQs8hS#Mn%+BMg~_jW^Ba2NjL3#oLu1WmiwyW&>ld479+8zdLH< zW0v~X^P}DDsXc`sd*SyQI6fF^w(D!di~ir?_J_B1SMi2rJ7wV~`3rOErHkhDpOtJ1 inyiVI@P@R;``TqO#!;GP+x8p(tuSwfk5`Rnfbf6HAs`$8 literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/12.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/12.png new file mode 100644 index 0000000000000000000000000000000000000000..a8ad1e3f7a2263567263072b1792c5b21e04b136 GIT binary patch literal 1752 zcmXw)c}$aM7{I@5Sd?QB7G%I+AVOpt(hVFLhb@IdfuWT{gy86e(Ui$VgP|KoI=~62 zP#GJWAQUKIIa|&cMPVacPFjv}G#nL_awum6M2?mBef*>S<@X%#^SKa z(jW*z+l%4ur{W*`pM&qIzU#wh8VTZkg85AVow;MMGZaV=%om3d$x2M-IHs%^=a)wz zUV>c=qzbX~p-%7|`lc{>P$w&eb=Gm51$jXkj_bm_WgxE{$7Akc@*o}~!Y%-|R$wP8 zG0mzlSwMa@b}`IV)PTdjsbcIr;IafexeilMkEz>$83TPp6Ltl-tPwl!KBgI*m-+xZ z|6RTXdn-`z7`x&fVVRE>B_?PeC0}`~n;(o&^WW7O)d=9`X`)7LeHm z^{beCaAF-h`3=+q1>4w(mk=jDLhrd4`b%xOJ*wZrZ(i=M0o?pocSnCT{z6x+x^-{w zNsk+0NoYqhKFA6=>teWkp;7M9{OiVWZtG7ilS|`LaoX_0Yh_kX&~B)I_HOZ3LHWbY zpvCa+pL2Aj8_L?W+91E~2Awt26IYZ6E`5H5eLl_e(8{)UWfptGD#|~}L!+t3(|vIu zz+t^b()Q&!gQ+t#XNuZffpRvZy({sE)=*(E#U;_!6(wrjH2Sh1IYxiW|0;2a^+qnd zcD%hLmCH!+P4rz|4O=rUnX{-PHN~2nTDGt4?D=FC-OTk?XdV8`_ts9!EX~}Ev1Ht+Kj%$Nuh3jMW?s-q;`r-Cl(JtZpmw(?xzw1FkuWQ<^+vOmq`Bk~XUb6v zw2t~{!=&Gx8lfnR23bx-)Q1wEdRoLvKss8yH(Fl8`P5q7pm2VFvN9*5LDckdz71um zxujND6*{fg_ZgGsT&~86n3!RW^e(6~CZ+9`#c@TcTvcy*)-juNiD7!(Yi*sfYup^& z(;@UbrdFL+3EdOtH_;yJi;vuDpRp^8UH^_hk*PP;y<}nHY&1u^D4$fBp>}_nDMho- z5N)`;np2om)-e%YG!wlt*jy{}ee0vTYL343Jz*$WeBx4_Ki;-Hxq%Zs!+Bu2WaFeP zLRZt9VXtR0Yv?O@Mn;b>-^rYE!{%!E)|n!GeAnA%cRN{nkv5n6_jf9#yUHEfuC|e^ zQ{ZxMBsU0ci2;X-im}o0!W!zKl~5C5u-1@d{r3LGzy99X#XdgnJm3a7`hj`%jvVpgDyu$Hj2@z zO(*+%5`1KmJRLW*Dn}`|9T^+hTJuEZDf#?KhfV$aT-)EPwNB>f)M~D5lL8s`&lf#X RMXG-+!i#>&y@tk0{vXbDDX0Jd literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/13.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/13.png new file mode 100644 index 0000000000000000000000000000000000000000..a8ccaa9755d13c215bcab0e6c9771cb2519d60d4 GIT binary patch literal 1732 zcmXw)do-J87{EVuFj{M7J8bP(=rYW4nK_iYUnWwAP!2kmIK$SXa~W;1mK-`#Jry}s zy169Pm`hVa6Sq#W+1!fArd8LRkPviDU29aw_q_ch`JLbMKJW9q&-;BjxkmN#*48?v zg<+Vs57{$tpT!5CcMk1;Klny2#4uHi>Ko)mBN@Mb5{zL~nJ!MN1t4`AD5})M-rG9 z@a=jBco!n46I}9^sGq1C#an<_4^Z?6kb~lMRNwV4h<7394}dEl1FeRD^bwSYNECxp z5heeiJmmDJ;Cw{a32?#~P%;IiP6LUE%2{x}6y+iEWylfvi^vg0%itKA$La+*4UyW1 z@>hX{$gxdut8J8z$k_$QR!|)K5PzTfX#e=-2$TKaLY9xGTToir^YY1rNh^Yy%;?RV zL4}8^P)+r#`T9Qnc)2NEKXJ~Hyc$A=a+wzu0J9(7S>bnNYlE(+HItIKct<&S51~=YwE@fMm_y0t%%^?mY-@F5@>O<>gSmPi=Mkz(~gMeZVw4~6V~J4 zGcM#DR%lE}s73_CTk~a6>51vzZ@CN3S1!3bQWzQpu9^Sw3uo(#*~WN}+Eaok`_o~% zTP){8q@Ele`9(aROl)yl`Lqr%zof31$`#WF72L$p#8EiHohun_t+B6M)=jg`!l6na zE7H_Dht*09$fHo0i~&6gqnc7!!DTMCgqut}N|gIkUjcG<3-G_GB06 zNZY<3=Y@vZ&1`vx7>v0@N1tV%bBmgv=i zQkfCn|D(g=Vc$4muYnUx?Q3D{^zHb}HrGqH53lm2y+Gs7xD0u9RHcq5+_;}@Rm$x9 z|7KtN<(3kz`_eg07SG!`y-9Ir{}FCAkn>stNzKV68?iPeHF!#+kyC;7PLo`H2kC33 zd6Zd&Fw23$=p{N82=#)iEdN`^Cp9NuKVLWHu8fmQvV8HDH{B+}lG1;uZ054n;_*pG zZWxzVl+~DpG~lO9nX9|Px?VJEfIqr$EitcG5X;K!cRYp%*5%|ud9ZMA#S1St8^rZk zW1BDfmY$Y(T#8m4bX_RTPwg(y_kkG``uw|g$fT<}Qk61c)-Xv758)t5mZQ+_KZ#GF z7-H!@+lUct!jZ-`*+j7Fu_j!EXXNKppKu+ zGjFq8ab_(=8_!f(Iq|*b4EdAas$*3=?)}(K7)iV>wOdvhz#8`doiHCSKhJu1TK503 CKOqMI literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/14.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/14.png new file mode 100644 index 0000000000000000000000000000000000000000..30d1c84a9cc214b33156e87caf9b8fb5889aa6b8 GIT binary patch literal 1736 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 Q`+vd${HVT--ps830iDDkbN~PV literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/2.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/2.png new file mode 100644 index 0000000000000000000000000000000000000000..7dfdba043e3c79b1af6770a706d48c4badf67bfe GIT binary patch literal 1829 zcmXw)eNfVO7{Gr^uhJsXE^As!HcwkEu@lF)twI>Ch> z#=F3~5ykhxH6MujDIcKtT_DyARQ>`KqqqRo4|oLeZsf8)@acXac>pL-pgcs93Y>+g zQKLNMf@k0|#DGz7;t){t0?2v^Bq2_Zfy>5G9-{0Gazxn#azv#L97FpdPl0n0S&vcv z3{Z$1GlG-nQ9h!00UXn#IJOCY=Q1?^mIuGj{9Dk3&;ld*rG}q>i+@EXTE3z${a4g{ zg)l)cSiSiSBlO{+N|MZVe@=Yvzp6h|oBZBSno~*~OxHuOgr1t4}huRGZx>As!iJy+B6^ix z-(K1no^ZX^E^6a=7}Y0t?#djiJkziFQVET4hg{H~?^(a*o%`0Z1yYyyNOsRuit#HZ zJHE|orMAZ0WzxhLjCjKna!P)8-Z~4-i@{R-vvic z-9PIvbllF~3I^46jGzP8Joh$Ln3zsvIFr6Z(wNBi``WagNotO~{4&2fQW|V>%;jZm zWV6O*qwz|Sw;AWxnQr)IG{h7(n46y2pcU2H)juYsrd+AUPodf}PO?;6N%Zwz70PLX zkk9BhBhxRs{`}f^UdtU^zUOKlo4S*hI_lFNH#?B$h~MDtnUglwsxnuLUA7|3ygv#f z@T0a%+s+5!52-m_s-03#+==9TAbyPN*Qn-f^BWtSL#Bw{m27y6yBMh|?r!%- zncUI4oOZ{XH}UHVu4?W7wB>4l&i9eJ9jhUBSh(Ni={6D5d{rVXGpf`^nT@aaM6ki@ z9%bD?<_!yc(`&DddJP-mEmN$t@L*=;@dSQW33ZOKX0Y;HT}{imGr=(vebH4r5t0vevEXY;hg$^ZFzC<@bEg^SsyZx6v&(aii_a+!YGaxg9|aK zd~hz#@ zlUofg#N$rYV8`>O3c)#;3%`Mz)&hBTKvF$08rKnx;8WPe4d9$6AO)|N+5*nqe%=P& ziOK5#pV}rKPuzv$_kn~6DDDRGaGZntQy)RR6T7e%eBmk3^mia<0Ow&+2Emz_Q_pc8 zcFqfMAtrSUoHPua8V52bfE3JyNpPVA=V1z`v11Bnuw#nffD?EV%OD2 zHyDM*F`~~T;ooLwhumbihT3L!DiYc3*|~1H&45&{Sb3bh-Wu7Kl~ME7!)3HPr`ERP z(@RdJ#g}7~<|Eq~>A5O>u1zM2kB)mLc?}u*r=3(^jL;s;`NDc>qmZ`6`gxE9p(a!*H>c)fl#@fn(2#$H+Lj{c8tA4PNB z#XHCzZJB3B728z^G#3vU8Jwc!(uO8n{XDeCemEoecd5)UjV!U6TPjoSGI-ihYTNWl zSk*l}H2mmpzMHx4@^|bf*DlYUg=-^~HK`zNXWtajGbUdV21k>O-n%5ur3%^HhmZnA*=Ou)_fj9agr1 z+Zv-itJQe{HT5{l&Aq#$XlvF5dL9=Ih(imMrogg zjq#bi&p4WwiAHp;TH05%K|_Uniq-=w7P@F(TG!jo3f8XBSD}f(`8+w|gD&z$_WFCX zSbeyw`F8PR%;r)(^Yh-u^7e1sip?kKIueC)weN97O8Uf+%|9l>h34*9V;_|KKjelM A?9y6G-WfRSdtJBs6r5E8v$LFB& zMvILYh8cT#vX9`*)W0^Y!QX2`|Eb3?1B`Phz&(U&z5FN;!#FR^2-3!ZoKc{v$ef64 zhfw?`xCD_=44#higfGxK4N!pcR3)g+9K=J=b73jONvNL|QBVf)sB)kH#iJ^~g@|n; zaO_VYxe^$Hm|g`gL4C)>$kDzT5^w>c_7*s;1}LlrlInm_XdNa6A49IH2NyH}$>_X{ z+u-RRp0|LvAqrc;$377CQ?;Xb0}xXHRdS#Z#RaH7LkaOVZ6}b{1r+q4JVde@ zoP#*lkMfWU2EiqWjA3xn0B~#s$QcEa5w*|2B^s26D0zt-QSu5oqG}QxL+7DQgNGn; z{zCaPz;xu;95`(eu^$F)e*Fx4xeI;AG5|c#Za~QSSV>jvKc)|Gv85?k|MZ=lc#&?bokf zX|c^tGu12xB^W&0bE#&$GyAvg2M1O=wpD)ocIS@#;B&Kulsq}*3<(!sqwp6-Yb@i_r>ug@$%NN zr)!ADJJ#{6smt@-->hW#1`v^tVy5KWqn}Pys)p-bNmNBG-7{L(tBZGr4 z9yEGeX{0VMp*NI>>W7+QZrCYqCi4vqd8H;tW3^HPdY_Ix>M@Wyp>Jlr66(*Vq*$Ni zCuZKU5#^^a&zgH*4EIPcbv+PaPm!f|$7+vx_{#7j`rn@8MVzi7C0OQ!$)Kjx)8E-E zUrwADpAw#gZ@(z}a9I&Ce#>xY_gfD}l88NRDQC73!CJ9qBd1_U1et-mlKx{ zf1c3nMa;;%A_IuwrGJ;SYiN(n@&rF-$LCaq+eY=T(!2>D7#)5N zYI|Tt0efWW-y?XhX}Ve(nWF5Cb9FdXMSXIuadGrB{KwFj*}I$DLy0GSZyA_o7cH?< b=)UlMYPZ0xTzdomi^9Czeb{1F$hrRkq~aVX literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/22.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/22.png new file mode 100644 index 0000000000000000000000000000000000000000..94637120f5d8b4b32cce8fb830768a98648110ee GIT binary patch literal 1746 zcmXw)Yfuwc6o9uNXrO2a3J8{gS{Or90SX&|AMrE0D{Y!MQC!TeM!< zeei-0ZBM_VHSF)_~iVYtiF_*7^f`5c;mNgA3yFaJ;Kr{#H_CKy>ZWZm(I#;PAEz4 zcc9{AP2_>Oww>?rv1;QvN4qi~*0Q0`);snqW-;exO54l-Qnq&dqf ztz^+l+)~3Lmei(|{bG|rnQrk`y{+jLEl`Q*$l=27QMW;lQ0ewZgJJBoeLWji;1F3E zd3d@tE%!~7?lg027Nk+FeJs2?Z-hrYwo4tunDhtDd1E|1!(ty_S#haJJ(70uhbng- z1uweA7;WCnUmPCGr{JXGVe9%IucRv;5QX951$NAFhq}qto(rxt(p+|Zp+l-<$KKt} zVIF(nbi#S5D$_;rxYC?B+NE7o`TtYhHBpI?}1DvghFDR}yGk$vV^v5HO%bN%<{ z469s|-1^tLZmRvXy=6K{NW97Ywxia`M`k0uOo;6Y4xM={%`T6fn+y}|aK_oM?&-b( s-NE)gtsOe^_Dt;S>n&#@Ebt|L!SXTrb81Aa?q7uk(L)0o{G!kQ55=G=NB{r; literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/23.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/23.png new file mode 100644 index 0000000000000000000000000000000000000000..6d4169715b3522d591400260f889163caf3ade29 GIT binary patch literal 1764 zcmXw)X;4#F6o6lAF# z_MvzoxD3%n3Z91YB>$kgQ6L}Xsfy5hbP(sD=aTynC!_VWi2P!RN0$KkC?5R)T!Ps6 z5FGmnNG%0&5Yx)QWoX@za^$FQ7a2GoQCk5{e+-mV0?AdtXjF$i0UtrGl7sWBfmF0# zms;?&chBp=8xbW9;3Myd)>Ad1xB`eZ1698QB`D5E?{{f|cq4LI8@RRuNLK>+&rlvB zRSnKW9C?oNkn?-MWr!~Q;N))L$N-Qz2&5uvhrwl|C=XFKh8$5gfgDlw3LHcGq0fSI z5Sf3V{CQv+a!dzKUqbnal2vf*HHu^A#C?{b`rd17Yy7ux*UR0N6`MDm|JQ}>mSny9 zWBc;dh@QQtnn-wCc~^M4>T9vh}E&A2?9}8^8QB=O%tIL zZjRoBqg`Y|8V7)y#(bLEmI z-j;!5tCxI9n*`=7Bckbg11PEm8Rmu4BlS6mGg;J;pvf4 z#^=q3`Wx)Lg(M3pO&;Ff{32UcW<#s)jlq*hvR?7i4krhVV~eJ)V29>rte9;4VCVEh z=h~9ec^i(6^W9mZUlKF@^IKWT~m z{V7kgNUXDm=J~rD$F;Vr?ov^WPOsx?VhvfedGur#SteEhkzBUxpxe`6( zsTl^NRhfQ7VQ5;se~=Q;rw99XpT-aLP-lAiHTstpcP2w8*Ux>t zg{nN_88(y@$R?V?J)fZsUMp9w7!y0am>T1(OCL(b_solIbt+wrg1Jna*VFuOIEN`# zz9KF~rZeM+LsySSbil>;X5={^ipl==o(lKAilu5j7_p;BY<{7MvO?M)FzKQ{_xj3n z;qH6uJr^`l2h~^NZ78p8Eb+48vbgqr#><)lA#qt9X3tICw$O5!!;t)xT4tX-LvxQh zkVs6*ge@P=;LvKZ87~&GkaRJf@(Z`85+f|lFX0T=^k*&QG;v9}3Z1dx=8nMPgs$}w z`d5i!+D}@s6E|+#a6JCNt&}3vkaB9PktRFKZt71FDNm8(fcLUssI9Zt6`!$Y;s0Kk MmxrHwxf|#D|H1YvQ~&?~ literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/24.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/24.png new file mode 100644 index 0000000000000000000000000000000000000000..dd0c4e31267e28d750695b79d373afbd4955f193 GIT binary patch literal 1747 zcmXw)dsNa_9Ke5>R%j}LBXuVOr`dMOv9xxMnXfdQTy%yQpe|AR&rEPvLR7{8@QhifrxCB_U64`42=U-;(`hB2Q}aMDMBOf67Z4C97g z6fXgnAo`Sob5Wj1kLKxs9F(UlL+i{yJQj_Mu0foL>KPC@*CEcn0py@KyBu7E*!(9r zb`wag0LCJ6Z-Glt-9a&Ov~M2?I0w;C1x~L9iljhd4UmoIVRhhx$d$F=oZCPuIQfgAWl%FU8L9u=KJ~W~Jv775vXsn}i8DRuoM{RV#H*Ow9{F&!C*u#L|RvmbGgfBbCge<#xxsq zNIIGsOYNR^;EcFvC`g?z#?yQr%US#%=%I5$yVB7}{hO}kZCIBFc%*Dtd_-X#*glor zz5fm|kEB~+$_k&8Rw@@Dg}Rq4VhhgWr73y5S9MM-F5&XwT%LomQg2zn=`V`CvLF6o zUQ7eOnl4Ob?;kWv&X(_ZHid03-$9{ zHTuz7F@s$_>Y7i?^PN3C{y37+kUMQ|>`9NWrv6ldff84r)3Ic{*>lqyi&y#0xqkP` zA`$OpzisJI`&FmoCiINR9@iEga~a9@y&;&c*RcY rrH95Arh^J4qs!O$XNBzx2=N#D#h(2i!aO0c literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/25.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/25.png new file mode 100644 index 0000000000000000000000000000000000000000..790263d97db17cb85fff750a6e652d9aa0ef8d57 GIT binary patch literal 1713 zcmXw)X;4#F6o6k#J1lK5Rj8B*!XS%nrxU7-!!`zlu(UuTqO?*>tAK2ZfXK8KGl(TE zK>|atMV6GXl%*K9VpIf&P_zw6%1+pWkOCrmD0`E4Ef-^WQ-0%^lQSfXFO^c+77=CW^OL+{= z*&A;HZ$acWgOBYI)ssC#@kSsf0?Jx}JQQc5^(lWsyal=7FYpC1klX=eN>Lu7StmFR zajYBVA!qi13lJ%CaAFT|YzRmj2AUx*jDiakC=XFEi5yYzFLFfLEI5YtL!Jj`Akv<9ucLfK-WE9a3dJ!a{5=cM{QjF?*{FXDQC@B?XA<+~@}J!uB)|Li3HROI zdtImAxsak)>y~C5H&w6mq$W%IDXqw6cS|Qvy0+=_a8|jzmLVDTs1{y-kftIy_OZ7% zH3FP-$-|L@@6T6ESdtvLq)HuO{fNGk|+ZO z-POsSDu3j!Gd|=tg`w{(^}KWnsNtkmUeh?W1h0t^dD8OL7u$NRd*3%ACG9f z*`9R6VP=TzFk!2=Xk%`gm3igzQSWQrk|t_39x1qIG;Lm)Paleiw8JwfVO{H=rhTf(Eyye1HlHgbu{KI#HoNYt_tw5DKiMt`l?wS< zPW8p=7OmG;$|N7rg+bmfw?rqM`@h)vH6;-X*mT#o=RH^+yhaeSH9JubRc!xI$4y95 zWo|tFAe^2}l-^~pa7M(0d8bru$8#RKi&e(c&s|3)*0&G+9T#H9CuZzd=-!u0xxT@@ za{E;O%^7t+|JijWr{@Wc?j))gxZPHoJP_*5&!Mx_)13mNDkciikZ`atA=Yy#s^=-3 zVuG=K>x~F^lc~{f@GCM*kC*J{OM3QQ@W2nHV6Bmr@UWqAIVW1;{C&7SUj1lvaoopN zMdSY1o~HRwNu_fZczM4zyH0|bn?wEN3Y@&9=9aUGe*N7e5?OeaT(hT?{GIs7i4cR- zsA6dwoUqg){oB^AL)VpL{P?YtBAOFTr*+yl!t|)-rk0`up~a4c+VYX(KiP-*4y?w1 zjW=9L{nFmh=`FmG0eZtNXJNAyp6>ssuKdo=43g$V{9?oWU(YBU$@ty9V6W8At#Jth zc-^zdPMllMyvQ$NPyW`2Pc9p-vNH%O x(kkf^KJ`UgX=W?GU{))CLU>i&ZhLTY-w~I?eY(`JZuMUg=H>3|R_)42{vT|i6UP7m literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/26.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/26.png new file mode 100644 index 0000000000000000000000000000000000000000..9bb6aded591ec7a4fb0814cb2aeffed49de225f1 GIT binary patch literal 1745 zcmXw)eN0nV6u{ruaDZ`i5G{&f1p^2;R@{;~XSIbw%g3M?YJ!Z|%}LcDqD8H`VMUx3 zsMODmfmi_%Q0oKA2y7ruV2eQ7m5*AaLh45;th5Rg0V{jFbN!?J<#+CR=iGbWX?m6y z&spZS$_>M?Wzk&rR)SX+KQ2zhcm2*64H))5#*0ge4be6XjvG-PBK{mXB0h>7Q8NyXq4UtK-~vS6 zKPdkdP>vk4gVSeGKBD3cIQAckV_xK($l}IllaeN;zYY9RW73=!U!o)!@>E=ZJ-4p|Z}7W3yw@eN-xs)W9Ws(kA)t`7`B9UlR3$3+;?`$~eP`rUUo8XLCCauS=D3Twh{2 zS;~3UnW!B9+nLK!n+|MgrWAS@tGz2CS}J9{F*EPeSG%p>_g-J?>(jQ{%n*89pilmr zT`P+rdq`+4YwL7DCrh{8T1u9a=S-Dxg?pSBA-l*z`agBqR;52h#_lJNeYvBuF<@_B zmNJDsTtM{ks8CODFr29x7<^XaFcaH6D5_9f+S7^idNb9O#GU5wO)=7&8S;Rnv#z}^ z5vPt7JR$Z{8q8|Gk^IHU>-(HH4}OwI6gr4crcjGRkG1}?+`O33-w|N^cqT=x)DDo1 zAJsUFMV%s@@A|33H9lF3m*{EVy)YDOtdNDam*X4fjrVzVO&$Ci27wnQ+@Q?e4=%ou647le#Ugzll@J=_~L#|3Yz6;zd`f& z-SpMJQCv9WU47_m_7hpNV@7`^uR_gYt;(kKI&v7hgs&@9WTTJVwE4E59Erk-9`q7l zvbNv(y6U|-Lphaf?z&WaJlQ#>ujSF(tc@{JVMAfo{_R(K#=2X|$n~PzTw}73~O}_nVx)yJA7WI-j|!egqg9Qf1-cPX_ms3 zJib=a78gaX@Spe{`)=%9897U@?SU8RE6EpLBE~1X$kN2v5c5jx=}>Ku=t8e+{|QJA zwj?CRz7g$rFkuk;J1RSLdiSdy#*72rfY+7l8{pcMka!!&L==>QOVGKhGUTXkvILxisJjF1TmckS0tr%J99oA}gR77$s=zt-fJD?U zxei>g^t=JQ5m6)qS1l2pr)Wa)8X(pJR6GERP@IGICqIOEBXY?Ta9tbFxgE&qKzWG7 zE^r#6svG4Y=k$V05Xt@EgdU)307!cQBqHht!6j;xhbYk?N0f{pM^uc0W2hhJ32-JN z?GehK0t%30dT?h0%10E;mEs@l)qn< zel%&!|B61_lp7b5Q{OD)Jv$$Nh0u|kA-%oJaruQThCgwu^fP+v7hRP!id&sqbggpJ zE>`d|32V&d^%?d?TlWeX?gL*o2Q3Q>+=`b4tseY z5{gnSoz7mR29x^C=sc>)qz>J0Yf zVeRv-DcQGH>HvyciDy4)%uo^GcXtCE9QfPIP>Q8se$0FTo%#y0xzs2v(L2mgPrdZW{|dqXkl^FkO{BXg zS{I}Pk&MWj_&_^}mNXUg*(;4|q?kHqLZp|7??R>fceaqgSbuVzE~Lz8P`$ zUzx+)(9L)q=>^ntQxv)V%4&QP>Vp0wyv>D+JKCO2KG&wA9JG*KE-+qLVXBn1)-K_g z%-74`ILkciqHP*=dwu#$fUFEJAo1YW?S&dbG1q5xY_Q#+afxNB^!$Avi7$R|hbMhD z+paPpN|$1C${O$O6m7SSN42uX`+it@gX2{>#bmOD6&zR*)A8a3OoECkx*aW|!@MFD6M-Tj%v~Uq` zi&U#8u6k>bJ)VogAB!vPHsqBr{M!9u1%5$A9#zRvNo5UAxUH8~yefrl)ZB!Q=qH}| zt%itsHk@0~j5^Ej;e;zb!4sKl;Vo*e)w@g!l^^uHzm5+?PQ0}9?B^k6k=h+>n1TP? z{#mL)dGdIdU;IER{kY8m=ICPe;q0*ej1}9IeW8}kj-hnkumxM}^7`n!A=CKRh578> K=T$~wru+{*jX3xK literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/28.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/28.png new file mode 100644 index 0000000000000000000000000000000000000000..8594a83bae48a1424c0506024f083abedda5e385 GIT binary patch literal 1767 zcmXw)e>l^59KgSKhdW7jC_fWd=&q)@%3X9eJH;*!`5w9XZ6A=sBkv;sn%BhRD7O@#q>L8^xn*!8wRs*TAtq zf!1|ECSqPaI3M*LYe0_Xrtrbph_Xg-(hVS|2}o!LMx#2c6?_c&KnpngCeRw~m(l^A zxB6TF-i64y1wOV))NkN6injr=9^k+oAP2?SXnjgA#JiC5h2XLWKvF-DEk=2W))H_! z;@BgUhn)QcoR3Hu1}8iQj*S56qd;p!*>iBd6y+iECy*oZr;sBKyadP4en_+6Oho#9 zls^y5LypP8Ny{i7k)s61W>6e6#ou#2s;}C?5^8=6l{9xZf7Tzb%0wqdNCd4GH}$*A zUuBx6hwjm$>Gyr!G;OREOnbIpk-KEdxZIT>cs@I-h-N%lOcbcq+!3GU3hI;kXXF&J zSXH@DGvbp`Y_YOC`UhHup>$cWqN5gl^KE=pFoOX}Y5&WDS+syo8SC>!$>3xhL9;%uyJ zdoIOi$L(O84DijiZNh7AJQ#jn5_INN+0AXlw&W6g{XPrczs<%a3$D+84YMzONY$NF zDy<_+B6rNFoO-jO8RtE8=f*c~W|YKovIShdxve(kac<`2Oy7{I%9_G5hK0T`0lFy$ zU1_iTxyOGDm|#MgzNEYJQ2CbTH)dN+d1QiSqSu3JZxLqqyHK3!QkqNAotx2>5R(ci zaYfbmG#~i$;^hrb57R`lT6|=AcK!)7d4w6^e0!qE-Os-qc6;*g0&Q+ts0Ed4E?wVl z*rJCwk{5Dro5|tk*b6e9K|GXT&hw256t=$Gnx$O@J-T~6 zJKkEgS*AS{cOP{5#bvxgb0sBT4?Vh3tIT{{u|8P+lgs#~EX`dw?w_7taW=TM32&Dk zz^k6v9n2&vd+`(48I%3Sa#B!xQyZoU@o3KwT$I;)`e@G3S~2VqBW`Y7tRRM$XX1Oy zT_>SVr|ayJIQ3YaV^{sW=bEqa#U+P|ahx@k{NJPcCdVEXLG-Jl-r-K=+LV|d5-SUgh zrlW8Z7b+qO?&5v!IVG}IyKnHCgrL2s?zD)IdPPOVhc;U)sUgaX+U(27Q<(=Wx;qNtnU>I$mw|fJX GdG>!&Bsnht literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/29.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/29.png new file mode 100644 index 0000000000000000000000000000000000000000..b7db67e99d11dfda531dc032a0925058f7446470 GIT binary patch literal 1762 zcmXw)drXs87>B=z1cV3-Cb&kf8>=G|h$1**G5D@}& zf;vHQVSPzZ&WmxStl2D}wr|8XyQCm<2o1b@7oRaPVC}daBV-({SlD+80Rn@ zWZ(=;KefclkE!GeE zt$w^#+UHNJFzkBB+i{#}dq3+$LgkBqd>V(d;l`kDWnjzd!m{Rydd_3jgEgiztjyXR zJ$k6azuxK6R>!hYxqTFuZRvTUEq1~?)I-MpEHXQ2!_1c3w2RwcuXcr4^Ng~4lThue z2w|T0wyOBHr^X*2IIj~e&gNOFz9R|w>k?1Qc*fOrC&n8<(5vL_d^nfv(;aGPm~_i=f-6Lj8A-ou4Q2JfAO!1cw)+9b1N|PcNhvS?q7Fa&`CorASpQXi*G{D$yU*p4` zdRfMHo{k@3!==d2w)S$qwP^;fsh6=9Vb>WMRk7+SQ)ZZ+0+)RiFN>=Q`)7oU=d6bwgg6sK?hC9#ev3 zNnFFl=5b;Fip%8Me&n<~*6HtcqP^+|s*GE2Q4jLBG@rDf*j=IIV3diC2`rv{|Nh8< z_FA-&=b7p9!t!R6jeW%tF2v63DporU_PL_VXt?9Ft)x8VZ2S}R{UbFykD(KX%bkAA zYyM4>lyH=a&Q@S1s}b?2)5YZhpS)~|9rG_GqA|2k6fFci-x(}l>Nr?%2HBe)h2ZKkoA*+a%x`msGxEq8po<*u)QbdkFpFD z|7+k&iui))bQhU?6BT%o?76uFlzc^+^yzm_icb$l6OmnHMrEQDOEka4Xwo2N$2&H< zkcYJtJ5QJ=yYU*Fc!Z2O;%GH3TXtU(% zy0mn-2Id*h1xfXXY?M^BF1}={6o%~HL4~DP91D8vEU|v&I@Mozw^j3wV;Y$~Zq8Ef WotQcr*sA~UBIto3)O!D@^Zx^^^D6)V literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/3.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/3.png new file mode 100644 index 0000000000000000000000000000000000000000..e3c33473d4401af4905857363df06245084c8432 GIT binary patch literal 1798 zcmXw)X;4#F6o8*pnF69Q9b}b;O`tQiEF&rd4Fn>h2vN}5OpQ@dkZo{?3aFT2D6)k` zK}J!Cnu4Ji!zKe%3W6*u5@SpxV2fdGa0y!g6R_c(>yPA{@7#0GJ$K0@lNKCcY-nMK zVVH5?F8}>HUR(KmtEc;}Jw8^CVc%f1pfD=a!Es4?0K;gb8*#df18Hx8qC2K|T-A@_ zcfo~-K0NSzl*b)G^Atcf$`k#8>Zl>kMC06Yh!fCyDnxb##N+P)*(e^*2j?QTR)S-H z0!dXsCSv}5a3NZENPrym?IQ$dBdV&wU21^bS|Fhg7?0**55b3!i|WDIjX)CGuTL|0 z{@3wG;H`+N8y_!M0A9O%*uWcQ&wM3NYs zhBzcadC1u^a3P|P9GvhPI5Y^Py#inD6RtbL_iuXJ%tpvHX&S z#^PZo-RR5vQ#m8I(-PBDXOmbQfA6F={wvwKIMxfL|B_@}{Ci>{q3@h#(oBytHo5iL z<%+n9?wg*QZx%dGRL*W-*;qSt%&ZkVn}(Rsqq~A!O+vdOHyI2RRHyROshk}X6tCSG zev~A3SKg0n zBf_niQJz%^oAAN#AdkJAEoT{eMdfy7EakxV($}JuWkL?ge%9)fPB@;EzG<-9gZCTk z@eX#^De!J$d-cfQJh8xA&n%14dvbE@W5vb1T)2o%SFyemy*+T@B0eLe(N$d1>*|2F zT-tR0!*?0{DMnPG5Lk+1P?i%5?qB^Mt13Gn*~b=c+ZY$-p;`#y`PSnMG6hKKuI zJn9Ge`04ibXU)nn`-Au2;V&Yh+V)m*{Lbxj z^TW;5u+21zm!GdEG4y)0TQ=`Rff{lI(MRk()u*R#_k64`HqpJp?5w(!u0{)4%07HI z{ATTc#0;|e*R4t0Yw?MWF;WKOiqI2J6A+#v@@1`A-bgwY;l2yV2LsK)Ll2t}F ztEb7jCrv$?6d2?%7#CM*ZqP6~zt3(uTX!T3%hnkGHNge830YSI&5G{ft(hz35ifin mY+#5s7nXCbW>y+aY1im$sstvz<=(pgH!P4E>@T1&Q~w7&_D7un literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/30.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/30.png new file mode 100644 index 0000000000000000000000000000000000000000..bc87d2d6236b4a64be82664f8c6a113456083a36 GIT binary patch literal 1750 zcmXw)do-J87{I@E>uKwZCvp$`jv1>nI@}jGptVAWlI0DG)jLAs+nz$U*Vwhu}QK_G)mf z21u#}1|xER2j`=G=jxE7zNvh04x-`_xOD@N_ZUcM1V*De><{oc=cTrQ zbKgF11#d^>Jq4e8OSGT(PZVzgVx2&72at#29JD^Q8{+NA`F-Gu=RoTLAV-Aq5J?hn z2IAZh%0tc>1?MADC%_5Az_}?PV;V?8RLp|&r6>=PzknQ({|Y&xcm*6o=doS|4@PA4 zqWpCr7dfT`w^pHiMBX+y_AiQK$MN4eAJyNpitkgu3wbnGXJ&k{yrlmp6Jx@A@|$~m zMd2Tq8++Fhau1vqp7eEmu0_f3i+yK!bF`>kwfl=B(S2ukcdO^>U_UGE%=sJrta*Cx z{a&{Mf=G1Jk7yJ28Mfln;==rG#f9vZE<5j*&~QM@Ox^|R>!#P$7Ofvh7_*ODbtX#v zT*w|NjX6clCgcDErPk5ct&8Hcc=cK(168-(*HcFm{|*hv>(lW{H}mF>q!Qz@DOKGj ztyjLZi#0Yf?aXIq$DX^Q{IJ|Cz$fbabdMuz^V*V&ns;drl67&d)RZK3g-oatMQOHy z2cgE)b4xzD*~v_4G4!Xr+V4`mwq^IUm~dz&?$TkrF6@Zp8Dlnar!Jh4T+&S(+V6=j zBw3I@)sH9_vf}W~n{t^GPsTS5)a?#tZc<`4N-e6JN5^(Isp?3L=%iu7fS7f5MVR%l zMsw{GK$UxW6=g3brUIKy|?~dUD(Eb(&VQa| zSMf5-`nwVtLmc zKX9n?1Z&SAP|wiI`$7eN`Hx8QaX*J>6GNfO$pBy4$5-A#*SwWj{@uXT($=9dwm8$W bbAwng5~N@^2RW<%uP~aMuWOx4@U{N|o-ZdL literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/31.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/31.png new file mode 100644 index 0000000000000000000000000000000000000000..372066d441b6288e98c20388bf4823612e4276c5 GIT binary patch literal 1746 zcmXw)c~Dbl5WruxwGDx3geqXGCM}4_sUQVJ6Db5}IReGOmb*wP76b>8E3^@zfF&_1 zha(t*iG;i1>;UB`WvGBh$|08sBFH700ER=3hPR)8B)|MNyZgP}_cBRkINPZx?NP!o zOvS<8#!bP@t=C7}6z`P*FRC$YJH~KyxAoK3S$}*A!x$60aT-qo8N)!y9d$e|9YApb zxEPTp1m~hW{y3@|1F}$_7AsB9~cJU2jr!I_c4i!u4|hzf`H7 zJ{@a5b)>7RW0XK4L9f_A5H(Rw@F>_S+eag_ujCs1eplo)fkTyCMTK4RR~BL!4jvWPE|2Wf8?T zWe%&RpRufNB5Jorc+pq2n8WkjBSn)_0TxAut%Ag8XM%8-vmWc?pc2DQ+Ny zN%F=>npTH58BnvYKhkcX?GSgKy=a(Da+&FA{F(BJlSgM^`%_&!Wu@ONHmR)WZAV;P z+u7i;FKfEqGOyy@-L?n!X~lcn#xJWl5u#)s&VBfNwV{hG#Cak?Gx&o~k9CGA78OFj zwIbn`yX?z0vb!cJ@WqF^e5tBJxz%4tdsed^fax{KT-RkywCaYzkg2apeF2OlHZ4ZBI-Gz4$8F3FR?qMHFnTbvF h-Zr~obAiI!|Eo)Af4z9wOYvWYIoLYelv(>F{14qiC}IEr literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/32.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/32.png new file mode 100644 index 0000000000000000000000000000000000000000..117d27a5da9e784057773c14271ab0e07bceb082 GIT binary patch literal 1806 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 literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/36.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/36.png new file mode 100644 index 0000000000000000000000000000000000000000..43b37c7b4b8c1b77b4f59903508f40c94ea81db3 GIT binary patch literal 1751 zcmXw)X;4#F6o6lG0~{q3S&B6*3e*u1hKf@P7&akROi;EW1r!GcS*ujzfNe&hfI@ko z1r?P90@Rj-03t?PHYv7j2^5==HKZhfz?dM7#et#Wp39HqoA2E7?m745zDX|gxZgH? zbA5s!w$c54PH0)Y_R-bRemBG@8wp|q!8{h^%Um&C`8${(m(&XZK)eKZh{#_OCah*NMq6(+kH;;BCY**Kp15S)YA`ZGB3 z3(&F#7>!Bt!G*Z4On@EtO%sB%F;#Woj`cuJ1Ca6vn2Mhx9)ruUOB%u1BA_KcFYOsP zxxW4zcq=BS1zfgHTu;)5<4r)K11Nb8?IM_A7f#9;BF$Oso|i+!cVH}+&EvC3b2xgE`ktGE79y4tnSS@7AS(kji0YSZDZKcG5a_jTKml3%lX zqJmB3fnIKG%K)?3#F5$MfwqzK_Wmr^EsA*3EMCXmSXS(lG?LKWQsmH4k;!_!Ii6AG z$}Oc9!WEUADQ`{zL3| ze5YX*Ro2@&z>S>W;1^Kqji#+Oj&H2I-Q)ydTo|31Xm7B#QFQ)ci^wJLA~~A(d_oQw_KY`NA%Pkm*zd|L{C_< zwlv`!+)GJ~E8 zXP7PDzgrORSAp8n)U4cm`<8}IH)pxOeXKVECFMquQD@I*=$_+C702)8qg)MTF89k?^aW8BMi zJ!D%m#&{y_m8|_{j8M{+HzN9>F=0Fx9iUw^BrW*-OldkSi|i)tc9b6)=GLML!c9xl j_DBCSk&b$q%9plGvm!gMF=Uh4KP-aod)!Ch6@B%8@5UM=J z&+EY(k-`S>zK_KH6ipbf22#yH#a*Bf<9w{|DTjC?y5ukL@xOsC4}ko3%tP8J!P&^Z zhnR=X?*x}1J-fkakAQtWK=xCh4RX8}T+)wuNXY;?Qt}cVsTcvLupgH(a2}G~g836b z0Xj7a?xMkbr0@ecHHvY{jNE4luJ8JV>!|%L+q^w8 zri^x(8f3@354~*g#&P9^w%<61>|5lO$E$5mTj$e^>8xx{L;5GT)!UO-TG=sC-GmJSW!u_v%p#)$x-$854mCD{5)kOZr=vl)426WF~GM`MQUx z+F9P0z|CUnz1gj&G|!rU&fZP4{6khgbBGijb5|BcmNLb3NxXhCNuxefmJNopiQduy#5x&*z7w(!Fps3^J2qOd0Om zbjf6m>!d>uG^sGsHFXU8i(?nsoj3|Iby-;2+sTXYJ-M2f2JTvy>92BVo8gigd?+F!aW%i0&+83;V&OO7O3HpEK{3d?Yy2YQj#w6mXfjd-48O?u!gh*M2m zxHB{*TzA@xL}V3q+-lz1)>F1VFuV%iByPzIhB^#YN}ugf1aEpvuI}B}Rb&6L4qdMk dJ2k6~ix)f0E9ed_(Eedje!f9I*S&d1{s-C-7C-<1 literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/38.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/38.png new file mode 100644 index 0000000000000000000000000000000000000000..49bac0a544f7210f67f9860c1b4be0b430e061dd GIT binary patch literal 1712 zcmXw)e=yr;7{I@$%EpDD8P(ZB=ho{SwytXrH{qgB*)6=!ONhtfb$&g>skq-7CigbP)9(PeIG)}B&d2P% z3r;iw=|W&ECQk%T;=ZaT?D*Ua5}b><_B*)eJs`gYNNokC<2s@pT!mfM2F?`&>G-~k zPH^74^=|N9O#UC>s&~ZwWPjrLeIOwL${qswIL^iUGx{Oki=7+-U;7*AISk}VaULdp z6r7EzdW`e1bH~9+OvWTQ^$Acl1!PYH>6mN(f|GMN50hNLj!8bnjwxFLC-8kdSHWX3 z*#kIV2jpQVUV?jW;CxKJ9-LUlal!$;=OnJb<&iaH{4FF0GW|GNmD;MmQYCb%=}!Xv zwnv(~&Ch)LOwjDz_+K)+QZvt+d0yx?9oc-o@giq=%di@rYu4s>*seF4omfvkY>yEea_Y2L~Zsk&kQ|dwtiNR0uN}3lzdv^Sl5YGeb7@>dNRPP z`)q0jBh5?aX13kwE)f)D)pF{B55^5wW*HhZ>H}4M-GX$-4r;0GT(NDP++v=h9y?Uc z%R6R27vk>|61BOPrm{)ucdxkYmf`%7tHjQgm0aX|aYiC+7ND-_ev@A+%j~pEFXWsG zIPj1|A|+RzZCSkT=Dr~Gl^-i?J8t%#PXe;*}gvdqq zHbr`^B;(=4Vr*FRl{b`&LX;+=X)fnh{@_IA$WW7nrBilyVpasJ<)3FoqLa0dZPMqn z3Vljn_|*a96s3K1ryNsVSk6Y3KH&ZJ55G5X#?+VQ?k`r}&a?ck=%_JdHTqgP@o1!z ziv}~|qvY)KJ~z^oakUf$tbAP@PbFuwQx?%QA1Qju$%aOlwRAF#KH&YEZSMRYG(5i* zL&om>O(8m*T29m0yqQUgVxaqn)isAt*Sp4fl%Z``tVbiA#pj}FF$Z;S#&hZwUoQ&+ z<6fP0oZ_%y?CtV@7-Nc{VvX9Tks6G;C$zd~&pWetnXfnUtaX*)cBrjJ$l5$&Z&{%2 z9H0FvTX)5FZuc2&DKl~+ZelN#O*&|c5bjV2&6Xk}A zwp8wc!PesFp7vTaD!F3jh~Y3gZG**V-zVNbI%z~>5hx(ei&slT0&^rcw}rWSw#7a9 eknvTk{y5w0P`_9m(QEuCA_4=BGn@QlFZ~ZOk{$a1 literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/39.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/39.png new file mode 100644 index 0000000000000000000000000000000000000000..8d36cdb6a13cd368327d13beaa18434a190c3f3f GIT binary patch literal 1712 zcmXw)eKgxw7{`A{)vzM$l&+gLUb^Tw#B}U9RzbXFO{J!#-HeShRh?SSyz~&s)YhQ3 zP^Y#E$%tvaMACR^nb9$&<%pDei*byhsF$iv#Vozg?H|eKe7^U&_dYlG_dCgA9rrgf z+;2z_gi&AsJy^?YFF*P^+HXbFKlKE$i(nlK@r^u0*?x4AAXqczh}2miYaFO7wLtmG z2+qsEWtcPxxB%CQr}4ZgAP?6m%kerJkVoQi@vo4R@O~?pyb8z@ZUA{WPq+y##%!wu zC#rztYG5R$paxuq_nnkt$9>ae;5^I~IXLweP^VOG&9?<|kiCtL_&btF77KwclN!z8P~ zS(uXpxDGpS2wa9q8wDo~0w>i#);N%ixiSGRo5FRNvKj1{vN`OS$^~!&pNF~(9*N27 z!u4xF0d`^ooVtnYF~u5iViD)WKJ+}x@ciMla69e05En@I3P}+z6_3QLsU+RxOPU?0 z+Jk1w?|19_usc2vJQ?(@WpQr2Nl?pYIVN!rwC2>4V>;6p;ENeP3`ie`wU6RW`|Iecx?8;q9UDYT`w?+>!6} zI?*hqv_UL$%Pgtt@<;DQAmwGRXI^zKu5PC|$%$~jzriZmUL{Y+xgrr26pWR=zG`Q6 zAXxBax!O4~E~lrvG!)H}kUumR49UgM-(NWVjn#oe9X^Jt&am4x!u%th!-I(^*?)eN ztEOZ;4VZD$_Ug5F{vEoz-J%W0oWXzXO^Ls2Y*Di5&*%1DbVR$VZ3DbEFJ^EgCcXx% zf)@dA-E+?k%k$$O*+Hwd8>{qI58qOvW2(rxi(icXq_%t3HT<}ud+RjMv7;cq4C3!5y^0aVITXnm|fE>d9y4HmNWuDa7FuAL6$Ihyx z=oq)Myef^kY>&1GVhaAM_FH<)VsfKVdk#jbF>Y#IG@pUa|K~#y<9G997j*WIU97l` z8hT7U>LNSTbx?Z3dp5=gD$6$Jben&WW)8h<-Gp7kaj!3*pWY`##e0JFC|Q;0N2W{{ zn$90=u;%D8`1i=1mdY6YI?^l1b=@vbF$iQu6{pj{rbKV{d zeoTY4<=FiX)Fjh@w03)m|Me14RQIQ2Td3cXIx>gN49h|L z3~MiU;6KxTbUR5~d9Ds$UqXvi)LL6UXptxS7~Aefqd^hAP2Iwz%`7xeuV`cbp?{6% zWf;2=%gtvGFjc0G8Yp6audO>Hk1Uih7S&v8W5;(^2 n8MpM@q&)wVmM5i6q&^EX((=;No4jQ0KM@h=dz>!yj?DNU(3TW} literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/4.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/4.png new file mode 100644 index 0000000000000000000000000000000000000000..0d1d963e21a46365e73fd01c2dac77c3299a7665 GIT binary patch literal 1747 zcmXw)eNfVO7{GsP?k@3CN=>T`0c*CrnY+w88!a*o3SY=Ul+Ks4Ip=M7HrdkCC0VQN z)UdP8k_-(M)Rg%$mu9+2lAHmelo>e7h|C(k6wcFf@O!@f0Utik_j#W0%kTR;3fNJM zRfP2f48vCKV}`}pdCBovxx)V4a^zVXhJA>!BRJvgw_b1Wb1{rEFQvn}L!RAh8vgf$Fe7z{ip6+Q5Z3fn>B_ zdMCK({dgC652B0arXhd58)#azw>*E|0p%k~mcX%>D2{pK_gsPMtG8yU?e9YIzOdb#Eb*(WkD5mViB6P@ z%gZUV7h+=0>JOU?vc=VfeA@Pji$BjyP%z)#mD^1S4Fgqb4@=HHn>F(|6Os$hvoI;Kq$>8KjgX$@rxHt~!H^s?s|aq*a`2 z6x(!W!FM_dAkQ4{oEuiX&<;Gj0IT_;k#J3R;s$)mg!Pb{{;bW(I8`5`?X4S zCv2$C?QZu?Mw$zr9FqRskZk4!U-iNmoowbB@C6>-eT8nZsH^J*6w)STX1d5VHNo^} zO4Y$o{MotYt?wB-LBQ*8%BYbIFI|6#>yyG{#zQ5f9P9Ti4nDQfTN+pPzzxn~L%A)k zZ2mtE-bBTf7F(La@!!4oeIvbvK9`Rj#wQ#aX+2*kHg>*S+KC@|Z6oz_LFvnT+H!X; zo^L;@WLCaOe9al3q%>b(K6NxGAeI`xnL;|VYbR+UeO=s^Z}CBIX%^npelbcN&p7R4 zM#rq2+`;JQ72Va^uR}-8uZAy8qc-t!E{mtRbcgi_u8nn|hFP1(P4+l_T9dOnwQ7!7 z^5~qW{Fc4Zr^UWSPLneJLA~vCN$$h}xELpAc&>v@g#J1AHbS{=)@ze;Xt7W*l0AIO z_I!kVW5>b)udngtSCZpH?#Q6u`g1cuuDwHtBYkdQ_R+mXy+tnrYU^ilV}nQ3OM~v@B-Xk*(6qqD!|O zlrjiD5!F`9M??pGC>Hfhm1tRyNgvc>Jhsh>@z~@$w|^wR{LXjox#ymnOtLv=-1q43 z*T*nyj|bb$PsKv@OIJhnE{^;l!7xpX<8_wB*`{yH{4tF4o<@=}2jolvr9ybV`Ub_T zzzIaA2s{_%;qTBoIgpR?q}8a70^;H5IerJ?6tv$eBEJUW33q{f6i>JZjw80;2ghoG zW)Fbjh`A5J3AFEQ9dgt+lK|%?q1Z&L0OS5SbI;lriA!KS0hD&aztVtIihqC97E?}tbm6ja(Yqz zIxrVGrT}LsQ9dHR1&%GDIJS@co)c(&wH>cd^;-z_aQopbPq19pAE$AYqGjH3z3r4JJZ+$?v!wSfSU??vf4&GDMTlWxj4lIxXD*qNJmw*{{Mo@8!n z)upLBQkc|g_qq##>j*z2zpf{o=bQX9y4SH@^3)StEf0Ml2)|}B% z>{T=MVTC@gp2VN2TiI-$8#$Gzwb8Um6T#6C%iD$p6rW41%Ym`7!^+TBN{*5IT%uV8 zFC;OTY(c#7^Q(z1m#X>#+b&g~w0I}O^qAx1qx8oyyWcMDe9|qTk!SdYEtU!`P5UI$t$1? z+y0bd{jrmrlXaT-Vys|4RbogE_mlVX%A{?4%amoCej+BrJqChqT6aa)nehCLk@3K#_ox`7T0mlst)|S5eJ2AZ(C(OIgdBo kl!)S@;tIWCRe7c6_a~?_Ci``O>dy!BV4ZQRa}EFFf0E<^A^-pY literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/41.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/41.png new file mode 100644 index 0000000000000000000000000000000000000000..6409370dd5e6ca6929657c211c4aff18935f043d GIT binary patch literal 1693 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 literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/44.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/44.png new file mode 100644 index 0000000000000000000000000000000000000000..e21c727e9a408d85809f8be3667b2acb90484b22 GIT binary patch literal 1702 zcmXw)e=yr;9LK*|&8<}@wBkp%G=AN-cE(0`wKCx=M7mb&(6RclE<2aC#vRs_m5}u? ztskX!D)OU(Rk4ubn3|q&*3o=rEfY#=v(U0eLtOo6CeQQqkK}c)&+~qs&+|OrZ!Sgb zlVR3-ocCZDW*yE9`D}+(=Fc0i?R+b~`nLnac46#KqZsUMhwbrb3}eqz0KIjP>_?Eq z4LGi!MD;r8azwfedKt<|{z3ERAo(aq)T4Ebu%3j*B@M7nM*Z}N{6<($`x%mt>S;Hj zOAz~;pkucnY0Z#Hh-EF%<*2W=6*<~BT@Ia(sBeSr-3}>HK$34mrlEOQCv+`xq60d= z8iYEI?@#~;3O~sE0XGXpU{83I}yKBN|% zU>Q18{LAJLVo}1vXgiD3cm+%RhSYCZ%U04uZ!WYC469 zU9@SVaqVfaKdVr8HF~qTI**uFX(APU-voiwPZr$ATZUEjVGcONQtY{=L_f||gVPn$ zSrS+~HnRM`(Q41ty~_%;MSK&NyI#Xsg~^QMKYQaN1QMGeuLX09WEDXTaLaNA6T4d` zURsTrPgR;On_A#XTTD@P;4%am2VzUZz>ul~-xL{EpWM`3tLT#AZOzQo(A_KFXEHR3 z-_sLr8-*T!3BYw$SuS#Q1*@k;nLMsb23}xH%(I(wvQ~?~Qj+FheY)N=Ns|d^w z?Fzg^9jPp7X@CzbdC{k)@Zi|M%s>QqU3{Eni$!hq!~PuVniDvvU%i5xT4C!9`n-C$ zq3h+8tdE3WaPHH=MYqwc1G)mv9_(A03I&DitmW*Z9Fy(^xVg7InYzJRpIs@SM+HSD z#UG2->aUAU43M@F`0oE!x;|1odQ9XL2d+`H<)^;uE}W=HnAMlWodPlL9i!wu*BqT? c4_W0UHjt*qNtZv^`TxPf87D(pgOl?A2iUm@MgRZ+ literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/45.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/45.png new file mode 100644 index 0000000000000000000000000000000000000000..59bb985305fcc80359f144331ea451a30b45f154 GIT binary patch literal 1668 zcmXw)e=yr;7{I@3wrcBUT0*l$`oqSVHFmeUnobZyDQT%uL#ES|%3NW|(#%dyScwX%%SRF^DOq2m0CxRTA1_j&tA^2z6UpXYs^_nS8t0W&tj zY1{5?1VK1OMKX?CS!H`|-C}*0pPKF@2z!DVlMv4GdgI@}P7nn1i5nu#0AxM_s%l9n zzW4yg>%e80bSbz9=Sik;ogT=?d8&H6j~U`Dye_#0acA6b5tH8l@tj5=AIEd9gG(^` zo4|=?AoT{2g(+$Qm*Kv;R_u6gx(u9;x!4X)>i|mRKxYLo2iFlwa2_@KX%z2@WtPOw0l7Q2+qT# zs==91~moj(pP!=!7#oyUN>Ng(qPkczpe1()e@9;WOGc1+m}c1+bAIDyYYTL5Qa zGKX>gGEjt_FoV;c;e1Sq1)MPAIN^@&vkccye4grU{VfDXF+vjZewY_O{6Q-tfNvcu!7E+qmy?hhgQ?C1Kw`YdMFxg=`~x>gV%Y zjuac>jG5;aZl4;kOcuR0RQF|Gf$MBq%tBo59*Wmc;SO~`JL72jhYR5({jty>DYehB zzlzg4JC|lBc1taea9nyJUz&2pv8&3`D@fnl?Of)fw@Z+=Y8U<}%Byf5x#^k}%{yK1 z70Bh<_PcOaq%;M$ZC)tV?w(sCqaOB28ZEzdzg%T2u$Eif94Y=Pwfs&P$&K!~U&(zIx+4)XRB}Eh?GIG zCeZ?K=l6bsrtQ|}Qj;CMG0;=0oTTdd%-Sn1`s9=4l>CR&L2eZT=qWiSN(=J~If9<5 zm+uA2TAe<4DZq8qcI3EpkurCs<8PX{GCv|cxVfH9ewU0&vQBC)dIY&C+o`Yh#>k6I z-%3!YTa+vgx0f2+q5HEN31)1JU?dSN!6EK^d91U zox_t?(4C6)7>>C3_8R3XviA*<2JVaM;O3&0uni$3JSbBnwQ;@B5K-IJpOtmnw=8u* z_s0|-yHrzx5?@c0&JLQF;d;vTKDD#uXTsM7Xl?nx!A!s3{!FR+^{g?d7=;R4ef%p_ qbxi^2OE6Siwm9s%I}*_CJaT{%ty$$&W*)TuyAV;~v5eMGR>A*xo&B-^ literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/46.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/46.png new file mode 100644 index 0000000000000000000000000000000000000000..533647aebc2685f15e388a6ce05dafc91ce84239 GIT binary patch literal 1705 zcmXw)Yfw{16oBtYsftoEW@^+{3?LvaVyH4yL?M(IuohBz71R+YfCVi@1&g93fHG=T zA{E;LiQysPJqbh{V+GPeiYQIQU^N4Vp`bui@P#D`G}&|bk$m~ip0j&)_uk1VUI^FL zW|<8|QMSQBf!oZyX!*>WWBzXBKe|FuRupe*IEOdIn7S81QM{qWgsjIvULR0f3ghDs zFkS{OL;9D43o%bJh;;)%0p@8h<2(}(kHv9G1;lB%-Z)Yqg?LIOP=N82DsTz1wHlnN z0WxcWu}EPZxD40ruSdte{bk?+@E8v1_Kql_j|2nvE zcKil-D^k(|-akuRPpiWCRUp*{)cy&SU|fLn`>P?|iZ1H}AHNM`bpZt$%tJD}!FkAj z9p<46{sEUE{q^9q9$6^_SPAcbeaYxZpr`czW?u5&PUAllGo8>g~*$H};VY zn*#!P9$#3W`@Bn)e0@W~dh6U5n!MJ@qb-JFJJZqWne(r+qz9&W4DU?2-wz=dZB{vm zTjY23>x4Up1AMofbggqNz+c~-Pc9K{{B@bjC7(&jg6FFo?Bh5-1(jiw!3($VJjtE^ zym;67Y)8*rkG8Vo=|Sv5`%~Y2Mh}Z(4168no0g*p%Ty24(~CyF%#SR!REw2t{Y}lk z(v4E>iS!FJje}j$!!x8-$Uc%~pTDPstZ_)#ndjk4Ia?;ZK+9WXnQe<@HQlkK%%AUD zRfVj**l>`kvRPeu@`mQ?WGtJlPt?`a3j?Apu?Pt9fDjbiwnID{|yTjZolADe68+-hW zVraxW==+Hy%K4stcgZ$GV}wn=yY^0aZ0#Yt?i&gn$uX|xxR?xCq@mHKJ2fpcm2kSV z7k@jVT<)!7M1Pw02|1A8ik!~2yBskoHW3XrPAd-NN#AWIr;;JoU!7~%A)HCTn_FEf z;umvm@!Ac04c*at-TDNTOXNCIKL35U{nl@nZg{nw6wr4}9}f|)ZEio|(e~2rzpbyI U?p6iO{*!tuAHLPP!3Whb(!Yw|^v`^LgIy`@YZn{(d>h;RO2{ z=$Yyf1YzLs=Y2@cE1J&^ZS{A<@n?+$v5nvahWSKUAK3gYoFF(0Mu^NsAZHRND>X)S z#Tc%aflDx1VsJjriRSUVSs)MRWIy3`lu(bt3*ka8QCfaei+z-O?_8o_zZKsr7z zs}-F8di*|kJErIX_{?kK{bU`ueiukcfwE4Z2-kUdeO4FL+p$Y}z!iN!<|80)0Ov62 za&Qjj%rMSj=Z%0%Fj?c^l*hoC2_R<@NXJx6gG**{4pXv#9aFM|9aFXpPT=z}SHPn% zIo&w_7m$ygP=Yi6#d%E81~~B?*NMI8eU{+)qiI}*`nT|rzqdzN^3@l@-uO8tW%~=C zEmfhgQ~Ms1(*0Bsn)ujehvnO$WiDxboVvpHlnnQh?wFNzm1EDs+L`%~o=jVP_xcPg z<6aWO;#$dQOj3G}L!yPbwUnwaH`Oh@C_c#GX8V#}Zm&?L#+m3)RkeFtD3^E5`oAe~ z5XG1%$%UpUp1Ds@o;hVRl$D%Md4ulPdMKW`D<`L#{8GIvyIfgM?C*-b=pZfoKH1OX z6{o?J{m|t?6PmfLXxv!N9$R4<&xU%sis?1Y$K&0zQFPS9){&d66`*N=p=ru%{8S|A z#2`dRbZi(T-9gQc15)~TqtO|R_e|}?8BHTKc;h`*@((&9ix(CbKJB$sWli}HAIyoO}E1RgyI+7Zpk4mdG zg028B^6wReeJAbg#k8fc>4#qIHZyDKkdvj`H?vp!?-_1-zIvjC8m8_O7+reQRohS@ zA6QTQXMWXI8?BNX@0=7A8{#q+=Xg|AfT9hSev7AlOASlW**4B?6g+jVi;Pq3UMlFQ zMYY>>vrl68D`{rX?T4B9P152^U+pZgP(R0JVUS4g?ENKA*MRH;?^_0~OjMm0lBe9h z)rE_E(pVRlVvxr!n}di-7?f48`D{8Do&2po$L}Vt7nQ)^7X!;hLyoFg)YrSGzdTmy z^)>s{RHTjw_2Jg4Or<8ROb)>twA9frlcUfZU7uRf!a5QHAVIuXQRY0b3*!34pYFhiuOfvi!W>@KWphHzdC zF2-~ffeUb*@HyV61oCm6tOTF41bH}K7nVX!#`kG3`S&1?{t?K>d2|`L5VN5ioTva= zR|3N^1^2y@C-$K4xft&+ap1P=ehcnC9&SP0+cSkvIe$?}`ngTo4F@%4 z2g_&=`Rz0_=l0G(|2|Gm3&$?tVVJ{>g_rSk#}uhz*6I42-PKn% z(}nP?MP?~u#$`(Xz1Z`;Z=ld5EZeg`as2Yt5Z+M~k zjAsM7^B*7gns{-(KS_6bPeRi{<^36z&D<*U>cMg}9EBurVGV2QKTn%7MUASTL*Sw3(TKq32)(+;b9TFPpI=&;02n@Qoz1%+oYkHr-2)hU^-7dM7 zZU1ghTm0$G>6#6qw56Y3OJ21^tQ@rcl)RO^iwm6IXh>bZk`FuX;*O{o#h@JJVF!B0rpDv;Qk~gx!*N z{chW4M`wvc4s%|fWFSoB=3JV#;&BaY!|c%r-;(5-l{n6EQ|T#q)WMwT^-!ZZF6zuA zCbBobicKe>=__}9|AJP;n|y2Oq^KCaeZPJ5VRFGttI7@?_OWz;e(t}Zrgba$tRn)~ zTx=uNS&8SOS?>~RtIOl^4XEX1_9w|UkW31?ljK#dC@`!{(Xv2v= lYea50g^u&px`(l@C*9e$T$gD|(fz>?J`ASE1NZQ+{|DcX0Vx0g literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/49.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/49.png new file mode 100644 index 0000000000000000000000000000000000000000..2754a1cca13e712db5c37d989253cc4da92eef6c GIT binary patch literal 1679 zcmXw)e=yr;7{I?_j%su`#kUaeBWF|oWntu zBwG?e5SAgq0Y^+M-Tu7urs=!!+XV$d>>xN_a@l-Gr_D!S5d>#`H=@TgAZH4wzG8*q zx^W!83NFWF%D{_oo^%dBHwzTtJarYWvkGxOUYAxwoQ(VFFa>`>Joy?>faA$E;8M)4 zT5zHcNWBi^V;0>2m*c*go7nNbnR0LertTKFM*~pW2qZTFlksyzGq?u3S^+M&1Ek{f zGTXq5Uaxn6cVSAE;F{OO{nXt!ej7;i0M&PaQXCiH`pmx}-i2M>53aip^cVyRR5%Zl zIs(qY)I7j>*ac(Ya!lp~IQbz^^90D50#Y$`)8O)1oQEl&$Brpq#Ez-{51hc~@puW& z$K>?k{3T!!c48IWV;$#XN;klX=QvJSqx&q!&p*zHqM3dRp&*p4C@FjG9eWOvMhwS=KJMaUQTajU`Z>#y(4?WTu-WH1Zar6pX-hj3W8;Hr zJO?lAM(afGihcQ7i-m+iR9fh1d;c8PJB|N_QVB|8>;P|c12yR__^=Q~OUQ*EZ0}1} zwHeCvGPZ8(_(!stAIse{3Tsh`SJV@t2Hnx1NMABH&KHiMAFK}gdH=<0Cv7`YX5KLM zsfse_erTMp@%fcqhYB}{{qpMDL~RQO_4XmdTML>_i|*wXG`VN3ooz-b`_5<$vyK@K znHDb;Wfi6(qQPob@jy^ymZURa$}qx26N~ltz9_L6I%V7LuE_OwK4{8&Mb+}kRps~n z6un%iURrTz#>v@1A~8c_=$Sq~T_)s_`n&>VXpFmJ&acM5|7rJveo;w5DRDM^Wp!(e zMzoXY6mj%K-iAg7Qyr=gz8ik2|14TF$?c>Iks>7CE+hS(Ul`vq#EM`z3I4X7MjEe# ztyTS--u@mcP3KJ{40L!|i(`;}W|lau|B2FYXi7E7R}d&BK2UCN*TxM#ZO>hQw3%?F znc|uzf;T3LGIVH{LQmY8AG6;0g9LA6G^v=04)S|E)$d+ZYQ)&3w1@e0rnx@FP0L#d zemll1cY=|Q?o)U|(J_{1t@RG=;)*cChGni7rfOfV*oh^|&r2*(`|B<22m80UsG`@c z@e)~f3LQ22dRXDNMQ!Uqmn0!^?CImnFp@x*BaNqgU^DGaF(DImfji;$HdbYZ8EM(k vc4xlpL^BHPl{i1!7r%$+?doUIN>;f$jE_xoDa(_lKN=#0eK_DIi=X>H8MXm5 literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/5.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/5.png new file mode 100644 index 0000000000000000000000000000000000000000..c24ceb77eee8f3a13bdd2c1b91db8314dbc32d7f GIT binary patch literal 1737 zcmXw)doY|=6u`fsC1tUt>M^4vB+}HdOxUJFtj&5X!b%9E+1N@GSu|91A}TCF$&5!v zOFHq`R7gC+DjKiEBNFil>lLydQC&pYSPj-Qy1D1(kKNz=&Ufy)=iKk^Y%0scSxrS> zg&+turVHbQoZ0U`dlcl~)n{jG2||%zxqCZu_M7g!@F57+%;$)dIUs8SDEvbQ#icKC zybxS~NxK7{iSzhkylxuE!+F9YTxSj99Q>SL3~@5vPm0OA3-R!KKpu{Vmw@vzTS~!+ zGN4g8kb{|dA6$U0}RLOh`+$6unTL!dG$aeJTI*g zJoCfzhu|%k{ATc}55)TkTXFmWkZ1=A9|QR~&cpR-Pa)odUC;$C?EzAr19^Qo57TG> zoP{|xg!8cTM!*G_G!Zy?7&tW!WK95#Fr}}+1=BbWQ!s-aQ}7x)rf>nA!1GX+z&V(# zXE^^qU?z5A4VVt@O!P|=cc=Vv8kRG@0#js{n?Kf%1c zFfodB!WIRu#10;fV;)IGLBgRS`1-q(T0W@Im0N2|%r+*fq*cAr#1> zx|phZvHaJBez&2IrsG>wtxbtADe70U=j8Po+M>Q)y;mtJoc-~)Uc9aXRh7A=LG`z2f3Y&RbFZ^S;+Ci%H7A}`If>;kM(8`xekc^l6d zh6#@j%#7!y4-bx7)Nwl-S#(6dTl8_Owd@k zIYBiqhFu*+H!piv$285h=-T}l_#5;!B9bjW`BYSC{6m6dOgT&wH9$%i8D6+7iy4WC z4vev~xjK}xEx+Omc$A~aREUHi?mD(q*H_dMPjS1 zh(Ur=7zs-XK?OkrA%JWF2|`_(Km`gIh$)M*7chvjl)Q8Ok@wAa?m6e4d-F0$WB7WT z7=L1nVVDV>=5cg`+4_&+=8dN`VoZi%A7G5b$2=LU=BvHOF^n<#F;2&EAVUpQ6~X#k zKZ+NFOAx7I@Jy5^8bNhhAP?oKN>Cpi#F=PabQ9tPwBH;e?-s;4w}Ctq=ahnr5L?Q? zu{%JUav&2ivjSX#_SM`)j^?IHz$ks0MOS9aaObL9UX4^X>y}(0Qp1 z;F<5&o4{KTMRIV>d!qeRtteg##1ueP8&HJeJk+215aKP!C6B=8o&X)60(nZ5hiKCc z&Op>WLwU$~ec%#A>Hs*Q2dH@tWT=5Qh;zf>5-rL@l#C)rl)OZasG0=F(0LqZ!I_AR zPLw|n%tVgqz#W%SKB8y^9GgOM%mRPUC8)k+5BJf=Zy|*4@%1ro-n4q~3ekz+dBk;O zJ+(j4@cWNGbU$6+lf9H=tcXe)V|dE!YD4$5Hc<-wM%c4U>#5ITV^?xQk&Zo7$hquPv6Nvnfmuls?cr2OW3uE8CG((u2v zf@Yq)wfc8XDeU+9gO$dWZxa$Rz4?|qeEx=%3Sf(N>%2bA+}wd;77FY{>D+an#K zQgrecU9T4#CwJjFV}4?{inG1F z#!prbMtI>oxjSIEK^8;~xWx6kTpQ7MF#dY8f6Ap_`WmJDAbl($N?ID$CY=x8QpS%- z)GeRKJNq=qyeZV3>)TM_zrE+j)jyOM`mG1L2I|XP253YVX=VOmU_u8m}J9lAE}w~wu=@z!|>Lr6E~h`9ZsO{j>tTI`MZnU-;{y^_L*qnt76L`xLSkx zzCU{@2KPE}Wmy-WeB4VR=F#NoW?D5xP-I%ClNfJYTkH#u+{n$rOFoHo{6yw?v6uXPVjzncxe$PLQ`Q&Fpbb=)|mKW5)KmNhGlP8Mc;Y83#(#j(UW?9x~! z{uXffaY+rtm8xsfl`=CEC-+7sDSwEP93l;)OS9#0!!GO8wen_zT$-{9KSJD&ia~XK z^1@^-KfGLjX+hkKxH-clrO_8n8k}zhptW&1pO@uY9;RUTUMqQ1k&IXd$Q=dDZV%2Q@Lt*OY4BtOTx|1zDlpN-C c!gh$#_0J{^Gx)aE#-9&H_w@C+>(2c7e**p-(*OVf literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/51.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/51.png new file mode 100644 index 0000000000000000000000000000000000000000..1148d5065f0a5a0ca2a7f659b260693f63b9cde0 GIT binary patch literal 1693 zcmXw)X;4#F6o6mRVo{M4M?{!PSi_71Mx|le(wP*KhCM-KKua)HD8nMq5zrz+igqfv z5U34fgAl@2%Hp$;Dscj|4K64UgMwgbFlAA;Bw#6!1e?5b{gHh0op;W?=brmADdI%1 zY&SY>#4yY@IEZn;OrhoTo|XAqdTg={!`5M(u!BsVC&e@vjbWS#2ZGcoAZHY)lx!#B zx?vQr0ml*PwcrAjCmu(28XzC#DeKTWOAzOw=i+*ZlhA%TM1BLrGk*s1Q9QE|T#VTD z3pmyUBsT+jh=LYy9PK;SiX8P#$HDoCx*OosUx8vNkaQE6iR!T5z{ij)+ratlKr%Wn z{SLU`?Q=PJ7oxZmeC#dJe#+lb{1y;X0F{3N#VF24>(lQ-ybC$r1Fm}nr1k>&{U{HS ztODmCjy*wn$oWIyI3j%nob(hp_7{*d3M3=y)Zn-V5Q`piJM=GJ%shsj*1^!EdeAf#*gFIbn@e+GYWMDwZ`Gyn8o$vm)wL`K=@9nzt zfIxU3+EQd8F_xR%b8SC;TJEo03 zY<8rfx5=o*ZHVfyxRI@kDVgMyhXFqlaHlpKZCnsBN{8Z4*MLY-;^a zeU-&BN_VSC$_WfO8EW{3mFpYyMBcmF!I0x_XB>!^;>e z!l07`OV{$%C#zK_d~ILB2x~$OX*CQx1~E_l(4Hd|xv5Ds;)U5KV;z=y^cRr4ortrh zbx0qOKVT7=q4%oF;x1)<{rSZi%Ux5_jLF*fJ;TRc!j1?L)&xP=a@fox7FMi%HgB+e%M#zV5`-1OJro(jU2$F+`ida96HbWKNg#I^sIGx^ zgBHid;8IM61YC&oMB{kh7?6+i)U~*d5#sT9T~r5gd)&`}$-f8jjQc=7j%Pdo7hx*u z!HEVSxe*wTDQp6l;=ZHJ*zvg;QgA+|;b(B_BcMnIv~K}s;C)0J_$YRDD>(l#kc{VL zJOLN3uRjG>V2b46qwB=|)X#9d9Y`pF>Mo!N$N9KEqZ{H1?9v`^Lm!a(63AEKJWR3% zoQpX+fb+2PUx7<889H$LLEz}0K<+S*jAs_K$T zFRRev$ulFTel_uY2C7SHr-Ju|7T@z{r(Jt_pib`nO)+cBd}fwjHKuqTk?G;)rSxwK z>G)wU{Wz&Ipu=A9$(YB+6ot*AOk^|f?ctUs3|B=YI7T^-9S+{dC)-+E)zLjknPHXp zQ7*?>!pm^zI<;%v-ZPKfsc>CzEFVOX56bC*G45hiiXjZWMp23{<&>{=v6P$cW^X$G zMt2b%sc%k4cTx0J$37JWzT)|Lmsv zFdam)`gD$_UNV}eta|Tk`y^|ic}ZM ztMk+UmB*?tTTZ2FX&)$Z=^3q~IL@yxu+nv*5o{01HkmI>%RQrm} zLfN6b>Lh~~N|-dzE>O5TS!k_Y&(a0AE$?U?(5y9$=x8<0{KDHNN7HAe&&IJ!qq4`7 z;gDZ;7_|$j!?e#>Jp?+yVz-}W`lHhWbdnqmt96hhKhfm-4Q4Z5G(I)C9p}u_6KVJ@lH(3qJ_;xcWy;jp~~m=R8!@Q+=rHi zx>!Yf-jc_@5Fa?P*-KfLG_;@HYx{n2DebrwT0VD@uIW6}S^7?g7JB(P7?Z>tFrEy;UuTx0d3oc_s_4dq}%r2k$GI4U-&<35eR<( literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/53.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/53.png new file mode 100644 index 0000000000000000000000000000000000000000..ea6d44cbdec4e48cc4e2ef9fafa55fdbbb1112a1 GIT binary patch literal 1684 zcmX|?drXs86u`gCI1H0nvj`i+tk@s~#~>2KFhyXcz^1erA`i#t5M(H?IIs+aHU(#$ zFS#`>_MAg(|MEstTL1qPGKSbNW9fAstHcfND(z31NB^g1Ir zz{=9rk{}4Hpg`&uCKi}KyWTQAo6pU(62uOIaq_f3)4_3bB$OZ+T5CkNSs-H^D1T^! z;`%WhF9R20`jms`<2-=|*G&OAI8QFb!PGZ`yEOp?%|KEMFcsGkZQyF`@>Xz8JCKa~ z^?3}Qzx}=wya!Xz4X)lMo=@J3<62a+-Mli;E$oQEmWV#gHCVaJp&fD^bMw%6;0-wO3df1}(R~)-`WIKCoJ_w3dJxt3bjE$%xbA|=jYRu% zTw(0i>h5qOUyx%Z;f0h3vti`)Cdtt54Uu;A^VB8TtoyfP#?AE`?L!Z0H|Go0llm}C zOeixiqdRw$%^F^%m3r5ZWV;Lp1IoARS>JRNh4SL_GM>{qo~;Yk?F?HU1I~T!eoy9x zbA?=NujJVa}en7IJFSd?idrDAoM~Lz6 z=88gG-Ds|ESmdoLMikuAgorctC3~loN#(Y&`=&lHe@72x6vgU5uwpj+Y6guLCgh)4 z$WnUKuc3t{+)7J!tZFX%IsK!3RSr@#pevi|b?MMdwnS&ND0z7T7PZXM%@%45)BQ#? z3~O3PFCK8YPLC;wGtV{ggQOz(rzb5}sy~b{Pa{qn&C&4J&L{tq`DpWPi+=wjZMA;K zD1DC``IpzSyX>T@s!-P&JwfB$YokRb9sEkSqJo`q_S95nNq-TdUW6VB^}-46(9N@p zB&Wk8t>%7HWW)bP-A4<9G)x|!7YP57+QD^ScX=D63w6dAp;;^=n zoffZBzDEAqQ8OCtVU>IhEtHi*IbMRc!gC@ZGFBa?Ym=p+aq5oJ8Uh27sdfG+IKSkqj$`-hoq# zGi|4qGC;?tXp>al>mYIY#CQIfeY8D|XA?!~Trvnd|5zk%??H2iip#oszZcyY$x@KhKtNc;hMSe`{1e1l;3mXS7rUqea0O<&;A~m<9tdt{o4>h{=w9GKPLA- DdWR#| literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/54.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/54.png new file mode 100644 index 0000000000000000000000000000000000000000..bddc1ec9b4dc24766e0386b8601665800983864b GIT binary patch literal 1670 zcmXw)e=yr;7{I?>wMSYfWktH{gvyN8WMb&&CQq6+?V1BI2X_YQ19co;{Rir`%ZB{2?$@{$iNIpK#`@GNdKJWLNQ^tvj zv?uK&5d>i$#b%wfP-6Yqeqi}-OV@S~#CC#nJT8J`b}^5}69i}08Ie8*xx0g7;*>ISZ3gg6(kOK(D)jQbfdMYkZH(+Cvdcuo_z6tnL( zIMEEGwg9=9;yd6n+*i|z9iKZ)1}?%h{0>f+1Ep<1ayu{w?<4MkYp|<2z(o&%R6K83 z7r1z9y&Jp_Q`!rz*&^ym@*x9OqCv-!1K_Tz`2;5 zCpdovD8^10!Rc!_A5&@qCl+v=a7FLA4DY|;m;coATL_P0g~#PzU927CEzrq37}Fb@ ze#%rER$sX8Ij<=ozWGr9`1_og&UY(g)qUr>)l0Mg<#!7<*bm0ms_vh-TRu;Iul{O8YAD~an(N(3u5g^8>>fU9d-si_t&o{o8fmwj(QcfM>nDZexQ4sToL~lv zs5D7!jgA={T{>4e+QVwz+hpKa!;9w?118UeUQ{LUFxzP-Gv)hLlVc*J^_Sp67j%lUdOpwF ze`!^ z9S7~-<#pwo&V@#kXC2?I1P&DQWe4k}B+5AGpMX-_0x)#mglV;9P&+^>g0Qq&>dY}3Dinf-i@=SQr^y^nO9rPEl0!L6%Zv$RHKibFOj5>0mM;@355ww!FffCl;@Wu2K= zA=Fa_Q_!rjrr&6vobpHav#fFqMt{`oKk#faE@a?NLBtvByTu5~PD@@)9vJVobKdw| o*S$65{-E{@zv|gc%Zt3`p!Lv<(moQ3LCy=!T$3FAJue~CiI!yo>BS1xo398R4 zalI5=ib)fL3vo^~j^~X5xj3gN!|N;>%bU1kEjDzV^`FIbL)Xrd|uiu zaN+B5Ie0Uss0m#Cns`6OZCt+rB-((AR-g#ixp;kAJJg%8OS{15{{}kU19H1@4wKpg z&cIan;T(4E0Js#BrUIw*1J%Po#t4v#IsXs1bPVS(rH`>=N}piIR7`;r_&iQ?;4Dl= z2hJ}7h1iK@aHkcV#}sM6iD_IXOws!+#q$SKm^;>g3lRZyui%8jnadAOwo)m&xfN?` ze@*(>24|AY_Nv>95-SS!o|3C(-e7Bz^a@{0JTr5h)~;%cJsTEs8di^7X&LALSKu1z zEaD|JmU?z*Jot`nrM!fe)6X}J_K&>X(#Em9CZOFYK_|en|L`Zd@Yh?zB|hq+}b8nMJ3$eb#6G#empLrC+uY zDT*_WvbLEzaOs+VZ{$%ElnO8r3pTH{bK3tjRINPVC;Un=i2Amv_{6R?TH}7$gPNCy z20p)8oVuk=75gqT!%uI47b4EJpa<2P^mpiXeT7PGhsDgP-2(ngjb6Sks@T7;vaBzC z_VYp|+Mn<9s``Uo?>JM4zZ0c0Xs|PvxHdVKP%g%|2t=9QEk)$UlM?L>1rV}I8k zli!eq>>f%ZL2HH9`xZ6l?5cE>IWdM%nznX064uCRa3wuIbJ6^Xx5uX$6JD>*OPCG? zbhN4gsiz>BUWp!7js2eQs6)q-x4;1mdZH8aW>Q+us1fWkini@Qht zm*5(dRJpc!g(UE;tag8k#2k42ut{Cr_AJ+y71ONa4 literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/56.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/56.png new file mode 100644 index 0000000000000000000000000000000000000000..b349968f1a735b168891435eab41fd3709efd857 GIT binary patch literal 1679 zcmXw)dsNeP6u^Hfh5_qL)KCc=M>}W)EDO$2Jn{${kl^6B4iCX0W1utwky>CnR1D;- zW)wxd7LFuP7!0sL;~@nY$z&1^K{#tL5UlZxDTCm9uYYWx^SR%9@AtX0EOsD^X13jo zq9~f5uXpeYb5}nb)~e;&E?=!1(0za z$VEzSfXi{-;YxH|w}%{Dgw$7qGi!iS1(03~OvE~>9()*GSqCoq1<1htdNhJdUX0%c zZ$?U+z=vND=To*|{3eiU11j$Tr5G1se~;fG-i$843$E`1GXDgMx-k#Q=mBRVhaX@b zx~LCaj`ZjUr}qMf2Y~EBAOoo%0+(wr4=Eo(N6N?0k;(~h3ireO7o3Y^cVPZBP=Zd) zgEI}7kCZNgQW%d`Ktkbx8%wSRtD1N}=&O_b?4@8{ka`y_D{CVbCJDs*)>C!=fL$(M;q zCyhgoV*Rcp!NDw|t#9<~cW<ZWmyFBq2^BB3PoANA(P;qEoDkG?4j zQcM9{VSTzEvRMF64I7Q`%gM}g(0l9(#kwYX1q~Z*NFqSgtU?GwkwV@yo zq1D<_B1Diw_)I{N5)O@ys6aqPpv0so1cnaU@# zAqYaB<>wWw<1ZgRtCs7&WwFC`1hIl(?+^9nT5VbA2_p#h&;~??7RXismBq#=KHZ1o zCEz5cy97KB=ZRnAx z0_jyiE@s{ha1yVpsm6}`b|=C4nA11G8B(BF2Bg*klW-kz3tWR;SqIL)1Ek~qy8j8D z_ifQ)t^zZ2(S(!0Ug zn3`ue4?F(_IEm@r4^Dj!)C>UGDj*$mS`AJP;yg@p2syux=w?2ZE+qF|WPtc?VlsV61a-%+t+ZsO_Z} zQd;J3_LZQ~_tm?1WYHA6(AXB5B>bd0Cc;S_V_FrIRAV$U<&HY(qRTHj-o9&hnd>mH zy#f`s(dFwy7UG5n!xyvAcC7_FD_1bO%r)(kLn7i zqS;xt3T>dTK~~YFKy%P{c8AlZ>rPj6K1AX3K_$%C@S;w?C+?k zh-G4-cjMqAPI1iZ?a+0GbX0U+Juvvg{I3~$=oH2eErwdw{}gKRCFtckhjoX&D?~Y{ zt%{Th*_Eu3*zsX>tey8dEmTUCy(_B#E-r^hzDYwvx@*zhgTFBDZ=+e0=RStx{rl_+ zsGT|0JdtKw@P(9=5B2mI{Mkv&FS&4@QNF$DZYS9Vx64!+RJC62BTZDRat(ON*`HmH0&$ii-53gj&PR!bN3r T4lPUf-$Ssx1HGy}xo7?df|~fZ%QO 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 AlmGw# literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/60.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/60.png new file mode 100644 index 0000000000000000000000000000000000000000..24ebb1fc3e8f7f10adc21ea03dca719fc6a294f4 GIT binary patch literal 1626 zcmai#drXs86u`edk{JlIW&gB)T86RS#oeb(%cBnXab6xfwUH24$h-m!42pt1vvjYkdEhN zwS$XZjdy@|A;q2GhF8RTs#_RW0;wLLsv9WAI3L$%{Q>bVba@}R`96@*59AME9+IvG z=O7IaF%O+T3@%5qG~l#Bpg{}d=zw&jSr0BZVjfaHg^rZ}jgC~!gHw1Oh6$XDYV-`xcxd!$aeFm5aLmpWOUu>@>l&b?>>P z@FjXuhDEwiKM|t$7Sh%w<{b$9n%D8>itTua`?srB+sjk+J7$v$*9&_CpX%?Q{Q1NN zqgA#lJ){e+4BPfWkI*l6_355}$Bge9H*QYV57|s)pD7+kK5)#E(gxN&iSSWt{+w@2Z?Jw*%-b#qi@g#Z4CB00-{L7_1PH^yhUZF4`^2@=d4h9)BHk5gdn!O4)Zu*=olq_+5 z>(uEAsbDVnS!lICDPDYNasHQ#*%8g|%dM4z%sePE{=4(+WLUtpm^-NhBi-4LNa404 zl9+`2x#!K(u#f0PVWZc!n@mSiEMFFJCyHAgtUOmrwi0x6q_9LWdiSHAPs481C9itw zcq3DBB(=3@t=+hpra;s1N#w-8e7I?LO?^TOgH9kX`RC`{Cu= zhwtrNdN?-IP7dXoUz*#b-4h~=9IIIQi{~-o!-*2#&YZ-r0@ChvCs(ET zNzK%D!LU-1UDMzA&ZU&-OWCmT>+JY$QYcfSDM(T8YJZLSPihQllaZO#r;oA(bqYzV kqqUlg4=xtR3054HerI%T`#z3e`_G^v*-_#3VchTj1JynKSO5S3 literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/61.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/61.png new file mode 100644 index 0000000000000000000000000000000000000000..97bcce23d00d49c336e150b434216b2442d12a94 GIT binary patch literal 1622 zcmai#e^Aq97{I@0m$xIijWb&*(F~L z>}~+3t^rw%Kq0cU30#JKO;U8+H(v%WM%tReIW0hm9LP`rGjJW%3T{HzDZ$0x16epP zzXQDV$@?F`yO9zVxakS8pH7YOHXx+|>Uw|@jEk{8{|3an(Pe$$wp&0>KTxd2JS0mG zE^IRiiTv2IN)YgO)F%44b&2PJoSzqWRm$-1u`^HxTEpJ?2g`=(_OofV<`1Vg00c=Z=SI`a`^Zq~K_{gIldg zezQijYW#(@#u1hu6GMO~f7j3F~ zw0)?D>}u7@l*c(0F4`JWE$dHxm)R>?l6#6wB`&B8;Lp_L=`bbjiVgf^CXIC6*jOg5?rULN96n!=spzj;E+wQ^4U=nT zs)jcmQ%9F2Tz^SJ4oiJG+t7F8#7GmnA?#sxAUS61W_|n3&0RYO*mHwT{GSif-tHy2 z{cVNZk?T%*IjI}(o@Z+WPjmch(5lGflfjeqzEYxQp0l27m(?lAC9FxS)!aTD=L%>H b?&O`AKRcD=)b+XlFQ|yns1Rwe@bmuwywLja literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/62.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/62.png new file mode 100644 index 0000000000000000000000000000000000000000..6c795d51239b894a917d74fcc9c29efc16146c54 GIT binary patch literal 1676 zcmaKteN0nV6u{qfQ`U`H5)n2C19XvzjwU*kkEIo8fpuWVSgR0_WnqqwKowL*fp$6+ z6F*=K7Ii=a#X>mcdq~LkG@}i=bn4dz30A{ zUSdRtI}$!3U>N2Y84(s^XZgm@VUztS`TlVmhHb_eU&T@xHW%C9-(ncUumdM)0m#q- z)zvU=o_y^>RPmp1>#9)oPP`AL{!g=$P+@GT?gc$IJ+L4 zkEjrVV+}yhMqmlmgjk9`+~r9CCFVI8O%j zMCYY+fET|R?*dmK^1H$3-VoJO_n>$?5bFi1?*aKJ&O_@{ln_@S7puU{gFw;{kT-(z z5Ix7h8HjV^C=WSr5?qW(nFc3L0OuY78CswxqFDzno=16zVgqtS@e|~TY9ly?&O>?* zo`lGFfby4t#mF%WIO!$IN94Z(#}-i>bH(3tF`8fNm!qI_ zPJ7(1QaCKh<2_=B3k=~*;}6kZl}_`HO%dyr>)gKSI?kcO99q$&)ccFF@E6JPOws9z z-BqbI;GMm6mLNH* zjI2^R*WYsWN}LU~M*h>#E4}}0W7WjGlEnB!k(Oi=6uIl1La(9aSC21qTJxtp?&GWW zWC;>#rO)I($t>2I#CY&Lew2ep1!Xt(d@PBcT+3>_J}{|L;>jIa>8=^;lmeIRs_EvS zv|JY6i(22Yhgmn+zkXA6;+LEte|`KVdca0cem_eU(IBHEEL$jb@jZQVqb(!OPfse` z@UsT91bsh?hG6QFHDa_j4EB39)XLfWYU~uWQ7t!=FIyI3@Wu9ZUa7RnF5=Y+Qm-v+ z9M^s$|MQrwX-+4c?KixO&p#%3Yfq3|Dc1=a3h+h_#0ZRMsxpp#a#cIXZ7n#0XC-uA z%T5@ePQk21YKbJ%D=)H9TQr(8ftCIOr2%dzaC1J;9F1BMA4ON zB177fmE)aUQ}raY+WU6nuD;ynR$7WOu@db%L!KkW&F0dZ9?;w%f#js z>U8VO%6OYiZX6WZUY6i}%D-qaewLFSplm0T@yg9iL1|FPZdsKG5+p2tr;Z=fh0Hj7 oBcJDM4#pn&wiC;r{l11#8>Sb^O?}xeq z&cUPt#?g4h3@&+@hX7X0F(4kzVaGER>Cpz|Wp zQ#n7a7tPhsy#u41!_$~MYO~JsW0r=GvQjC(Yxn)8THml*>r@NVyYu{$Q=X=g%N3e% zzwj343erlJik>#grD(<`hu`Wy5P7q8ugqf`|M{-Vk+e7aJyL`x5~ugOWrXJhH<45h z=B~1iDsk_FkDhyC$|u16y7x4J?+5kE23E zDGdjk`!^`EDvPKjQILKncj;>*H-4$Rn-aQs{tSxnUdu2mV@~B)c-N}YC^zY$3*Gm( z$7M?AT@CJgKFt@N2y;J8LxULBW0&P`gvJMSn5ysnvE5i?$#ybVkg{a4rE(It@a?$k z#e-w0ipHlpFR!t?F?i-BJ-?m9*Lkk6dG z)*q6vr^dx_CG6Si?fuMI)Vgc0#uxRiu%AK&>77ZbCG2wBS-t(~RCD<^=J8_hOZFq< zo)(fteF^WP?9FyZ6&k|hSi@qPrvU9Ul^(BS(Z1XIoPSE^j#lQJb4AIvA_wf1{^zas ztFl#P(FaC*=NdXiWL`Y1N^~q=TSlYw(YsO|J7=z4YCagRDx{(f-?qfMt?k zJwi(kb-09bnE&LW0%_lBl)4LRfe)ZdS6RU3eBQ}D6DNm)*3)Ouacji|stnb}*x5%y zIb5mZLVr)avtmUa{(J}xJ65(TF%BjklfxDj^Z-R)x0Qn~!NVtixsT)wDC%r?qLA=T WZkqS4jAq;ZNr*UlLR4!cyW~F)Aoj}u literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/64.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/64.png new file mode 100644 index 0000000000000000000000000000000000000000..21f378bbbb3d84e7a77e0cb8b7a779e1307133f0 GIT binary patch literal 1630 zcmZvdYfuwc6o7Zyks>qNV5uM-Tfj<3MkJ#hM2m`)K#)fx!n7SxV;LF*id3hTLi4bI zqopE@4~F_6AQ(`DMIaC!LR(^$LK9GeNRTu|LJOGi2oEFB>^;YS{jvAk@7#0m*?Tsb zJ;MtRT4CpGM^V&@U~WK!m6w>y_BHER9Wz`@QLj_H&`1t%!Er$oMNzzGs|nc#Aa4Mu zE`oVeAI7hP(@4K!@EpvO4&gdIP=a~t65MA7;(VN!-hem@>zR-e8N`!Iff9@-mw`)> ztvA7`TR@j`ARn1?8=S_vx(alBZa*4af;3fuv+n?<)j(DaFd5fTa&R5Gx)xlb0J`9L z{Tjh@Ud=ayw<4u2;JR1Ddg@;=UI(Pwfa>3XQjAM*f4_SWZ$+ou!A%`Nb|+Ax!aSr) zH#iTedxUxDl3s8c>GuSj)dSRNfxH2r3(_QOjDXUqHLG%Bx?dyx$e_~U;BEq28)c9o3}A(j`BW-q&?~8i!<85Z|o+1 zVtI|JckT%hyN@IoH=O;~LBGcJT|Osuq~H6;?caXA=)^g3IO;P9W;akmtP^pkSOW}m1yiIF5nzA0ilhWlo?>ot4*cX8(oOdabj8G3{-&O4Jr zc@yeY@0j`yPOZT7k;;pmJ4!ioSIIZphctym!pf9 zhty}(jaYt`lzDUN#Nr^$MBc|{Fw16lTZrFj0pAG0UFlxww>>%(-U z8-_yRqw~I&)VWK__^A$ZvaaLBhK7VAk<;lHRKuH6NtMx!-K9nKbKCM`(qS9a$Oo^DZ+ZRg%TlKb$QC7GG7EaM&> zSJp%)z9%~S@K5s02_D^s_Hk{gr|c8Yelcm-tnO;q-sswcq*KO^b1NE3?#8>49?brw xUes%co!2%#uKb%h$kRa8x&!6Atnc8dmw0`NZNx-KvGuz_1#`j!D*X9B{0AjR{!0J= literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/65.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/65.png new file mode 100644 index 0000000000000000000000000000000000000000..d82582aaa56482714caf9ad23bf0a682a074fc6c GIT binary patch literal 1663 zcmaKtdrXs86u>`W22v=ti8v`U!U%gfv2_S;PzEB;IiwjNP9s!dfZ^2%Ljnrr;lvCD zMk*>;8YwV=*79Bvr4{BDkhL(80s|@=XysKw+MzPm-h0gc+aLXY`JH>tJ@Nxz+?l9Mc5_KS1ksIb$dy$bAj4M?2IN%K{F<$1(O4HL>qQBxUv;HSBhx| z`}Mkwz4*=e9qclopbNYD4WXY>4)JzOq6bsijVXXQ7v}f6kK;0MNiTNo158FgCRYJ@ zK)XTgETH-!u>?Ka&RB(fpx`xjVh-ZOR&<{wP_H_3>;uEM;1=k!FEqVke!M>^pJD0y z_-ftadhhSP)d_K;;wwF7zqQx7c?u#%$o8^X$Dj01mRI$y`d9k%e`e;EZH~|Gh*?Vh z+hzH97&||GQXVgo1rOczNZVacQJ6o!LDfj9gQca`Hb#-S}C8CN1IyuwXLkv51&i-E7+?FC?dxmSZ6K- zUuKI1G&FsTztG}ktb&xY(RTi7QQ{%1NRcI?%oT>t*314BeEQvK2EtJ4j5xLp;fN;*6_lMa;;>y zqR{v#FX)%aLYMZKl=+F$vS1$sn#JTBr-AldkJbYU*o8$*f}4KdPu37EklniD^4IAr)o^}hn?9* znW(b;FivHIY83l3nW%rE@eTj?*j3@+TS+oQYoT|QbYx}WGhmM7#~SA_yo3LFOjOaS zLG54vTozUko1gAF_*UuZYJNf&+D2lM(BeCeh3oFLP0t$6o1l%9t$#98rGD>Q4|>po zBD(zZ$qenxeX6E;t9`^j&gB`j@Zd6wyNt7&1{#bfVw)f=&Fg5`&%V=e&z9lc+4AXN zNZx~x?UAdSI~#-Mw!Jt4XPhVPZxsKq!Z$;wV7Lp{KFg7^t2DZWBDAp8)7dollGLJ0 z9p|v82%{=#<)tr}5Bqj>ZgA*v-}~IQY{Q&^o^xAZPDJ}@5!nx6p4|$`MtSxl z=v+j}FVL|zNax3p48-bo=s4PUPJkTsO~s+J5w)GrJ-Q&d-H=2fWHy?IJ%K)lT-F1f zErN7L=cPV_UVZrdIdlmkR}6jbkZ3>I0LptIu|Y`LOGqxt*=T+0Fw7;$@loj7F-VVb zNVXK!Av(*U(-G$ss17-M8aj?hRYE6DLeBjTNmoHSBWh=%;|r(`5nn=%h%X~Yl&wO? z(0M#G&>4vIUs3(vkk!bsZRj3vQ9UAe7dp0va?B3ga~#cYCKrqve+$XsA!lO>>i<%y z1aF*)q4WF|gE+S^>ZoI-jm}f@Nm_ASta>rzb*&X6S)6dQs5GGQ;Kg>y!5*zRLhaU5 z(uVXg0PC|bbjc5q+P(+8~5ERm`t8?C~P?} z^y#%-1Sg5P?h=#V-W!{-V$Z4Sqh5J$!QN$NrDBuKv!VEmi2Vf#DIiL5J?~F++#ylU z=XP2;F+jGc*k?DaTTc#<)W3-aR$e7eel+MA)X$1G@P@B*6TJlQFyGJ1y_Ie%PIwxo zoaie&-qWRRj-v5NjIsh1??BOweDAHV3VzPti1EJQ(qOevetF;eIw$%x%SWNrm?gm$KYj4|^A1G-C}=jW z@M{0)Q!;BDtk}=lBqY)bKDvMRywv8?S~Q0M!>P`4?Rn*V3WQj!rh`uDZ6vEVBxzQp^jRe zv@F`DQ1S)yXG&J@f!sawl6)g@>t*oS^_jR?aB_U)v~BR+O`ey$m|4fs)Qda6G+nJ; zU5gv#VbKq~j(Llnk}lB3zG!>s+li%o#ZR$%EUe-Ni^EzUm1kw%p@6sNpA#r=%~7j9 z3!VV=9c{P6?$?}BZVLN+my0ff3+vU>A+3{+589INSc<XqM6nw>5zo;wR*tTD0Hm#tFK8%;mzGE;Z4QX8Z@j N!b2lN1VN0O{{jh!ArAlm literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/67.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/67.png new file mode 100644 index 0000000000000000000000000000000000000000..94329ea8109c9b4d34252bac0153ed52251ebbb8 GIT binary patch literal 1689 zcmbuA`%hD67{`y>U<6jE$#BTr1~djFA$HkjC)bWZflQzX41tuDGz&IdM^;2dsB9<< zWi@4DaKQ@5Ca_W|Wy-ydDc7|yXv?J+5JV{27A+Z<>e}T7& zJtl(S=`~3#OTKo!kGuXEs8`8qc88nNnQcc)j)au zdw6b~L3snX2$9+d&O>#AB{Xgk$VGMXTWFq5$eHNApb2s!TF;2c{T1@O-+)|{=iLSu zAPzKxV=X|BRv;6R_dB=cJ=iUQ) zpy#D_gY#bB?*$(~6!e4ZUK6b+m!kX+AT|h;{|OYJoQvkCK7f1xxo8C3I0ht-1GzF( zhv+d0PDj*Dp*rMTCAbKYItxym2I}U4bT!Ze(WnI%EuuO^(K2#G(G%o|ay>YPo`-Az zXCl&vQ2hpwhaB4kCvTy8M8PgNwvKYl4S%0SXuPV3;bZ+45~9MsNGSZ}sd_l)5t$es z*FEv-)#%^#dva8V@_d|=`Z8Pxu6X@>)3@5EqOC@!xglFo$~1kj-8?l~ow$o)|IxJNpQ^5liRBqT6i$?Puy-!x+`HM(Ic4qpM>^EXPFGCh#bx|xR@IA^Ga+W@Hp@>e*Twyw zA2P%I3p7Dn5tT10g{$~ZQdN=ObLtcEBV9SGPh)2vI+!Ni*`tKGzbxw8cb6)@=fYNE zk4OSzQ%b7MN@e!XlGFYzM45xh-uwF6)ySSMH;1m}gBG#K(R7KJTcGIEKNASq4RiLz z%62^3+&fXP-|f}gos$+T_DH_P2T#^zITmMR$-<3IeJKjlyf(xM&z-dqvm4k%c1>(9 zzGuyX_w^K7=a0#@PF*Z&XREc%j2+9nUwPK;T~yCS%JSQzcC3Bp9QHfvG=(NPaAgs% zw|1XqJA(gn3HGWTUcUC(eFu{>Wiq2D^SgX$_3&XS-s4@G|EBOU^Lgu|Lz8DY%KM4t z^U=bjZ*09zdzn9$tnjPtS#XVIeIUsT+h*9hW9n`lr+m6pT4?rQ;$z&5 z|5y>HAMfYkbDiTy2L!Awr5Cy2CH1sgvt!klft&-GwtZ_#tglJW(K~iQoM70SG=8U4 gRa!S;I|9So?QO(`eWl`N>t7BQ6&@2N3}u%72NTm94FCWD literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/68.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/68.png new file mode 100644 index 0000000000000000000000000000000000000000..d0e5c1912e31a1cc84033959eb1469571b2c7e1d GIT binary patch literal 1681 zcmb`I`%hC>9Kdg8APmIRL>{8V@^B=uNw*FRV}%X@L8Ua7=Qf0>69gOxiXaM&PQ|E| z!UoaF=(JFwU@y?}urOd_i@Zj82((yQfdVTaFtZYES=Zk0@juuPy`Ox(=X=ii-t#>- zy~$)8w6%7!#xTq_JS_OAiDl-W)qAFA(}{TrhHb%^N1{TQn+}`f(HO?m*b}5I0GUdl z>>-S=$x-|fIF3l?gBPPb-W-}Y17xE-SruAG2k|5{&Z~wv3GKIr$QD36^D&T(;+Zwz zJjAYAa7+j!*8!6di|fI0w6FRJa#S}R2WKO$HGoqZfxIRlNes+H^RQ-cHFB8*oZSW_ zqxYpt!HeIGcYt>x@;brQ?}+x3b)$F-5bFWTegpDQoQ>9}{{itXG#X*^h<{`MH~7A14lGrEd0LnHBHF6`@z1=AexOqWQfu40#P`Ga~wjwRLqS7uu+D=FsvRV%l=qkp)d@eeE_z{cN z{2;n0`McZ&20xay$7j5|oIbY>bH`WSLY%Pt$jbVDAt$DsNd^rv(LT4 zH>m{2j6txzryWo>ldif|KFG;A6g&PUC(l!X$}{S#rOHrFR&?5Doov6SE7 z{4>j2^(z$3(sSimb6)p)2N^^0pAuzz=cgwA5~nz;FLOL$H?z~_7|zYPs0foT4OF^0 z|Km40Z$(tckQWC^$m;4ERb9~MZaw~0T;F`}4N?Z_jCs=ZS(QXJ(t6x$>kVSj)z+I) zO++Hqoc;ei{9j3RDFK}L?V&|20&a}b(n#t}^pF?So41e}gP$fH+MUNZv~YFr-4BSi zf7GELbs3Tbu2>E;_>rb#|FJTy6I(wv$RbL!3E;H#^}T*2Z6w;4?rJgkSfkt4LCpPu z#%a@D)&-=_X$`Yih^EPJMf6%a=D%4frwNFIj&0sNJ?EK6ZLG=Crs_)_?1^Q)rv8m8 z$XWhmnG9{+KNm?GZl%^u7bM2OjkxY~Iz1xmWXXqx97FcoWa8MTUj#e(_jAsVO=>)L z)#RG*=N+-(&t1J1(ISQM6miIV?ubXLWmi=RQzD`uQ}-7+7w^snLE|!9>pxoxv|XoO cFjW`$@a3#VoG1Rv^jCw0hcJSl1SMVh4>vysMgRZ+ literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/69.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/69.png new file mode 100644 index 0000000000000000000000000000000000000000..aa4b85ca9832e8571e99114caffb73745916c15c GIT binary patch literal 1675 zcmb`I`%jZs7{}ku#4rp{=U6v^jmwZtKx)ijTw53|G?}cR!)*lG!4@FsK&1nx61hI+WeYBq~@bP04dQy5TbQ>22_;a|2b5th#`#&lLEeK-_Jf;m0~v!ru^Q`; z?nB@_q+tZ>(8W4%63H3^r)hzP2_SD0=#Df`fs@l%ha?}MBS{lFQu7#`!2K{5zy(O& zA6Wl4upFIO24}p$dZcU>oS4I$c!RpnB#ysZko>Oox4_{>NA4G0crrPV(8r)f$44!$ zcf01MdhljuRrmXyN#GF{QpviJLj4 z&z%)=j>`{^$atyYwdprK?tNM@`lBd|8}a-`Z;%O-!heMsPA(d_mZ$UQR^Mryd{4P2 zs#9CPd|&(5a9n)Zy}ANd3j^LaLcB_**Ud)R+=uca!v_(-vr_?AcuL!s>v^;eu`M zBnxXz)3j|wAWQzne(^MI;a1sR;oEsJ{4QoM^yHZw7I<=A8g$U-6>5SV>Iz4H$C)?* zC%oY6P75~v}=zFw-={BqO3NoF~8tHYOT~93%rLnhbi+;Kmt3E;<&uzKo&d!djfmzhP zi`~Z5ZUN~@yI$oNZ+!iA!>4rt^q?H7+^pVB=O&7kQ{r5kXD_*Cs#S|sYf_1m;MH9zVEj_0s%+&v>4Ty>(_rMG(e=SQ@CrrTl4Gd3T#4Q{NDbvdN}p#S?2qAhKl z8kFUnIU+y$v3@x$^JbHGii`b>?f6r4!9((=l`74lko>o_qU-FP3@_!%<=DKGd3}3z zr{V;4g;s)Fm`8ptsP5ktx`(>oDOv2#UE9AM5^6&ELi@$8mn4Tr=Er?&2CRQF1eYBb J-4G=x{10%60i^%{ literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/7.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/7.png new file mode 100644 index 0000000000000000000000000000000000000000..882ab0a4fde34f0a3267c6987a9a4da80f08d2cf GIT binary patch literal 1760 zcmXw)dsLEV9LL|SVUsdBx@2V;*-Sf=jn>UA9cY?hTDa*(94X49uC($5mCL4_nWgC& z9P_e{mY^t8L@^~t7cb4r$_v?zu)tFp7(t@WHa}N zI^oyiF${BJ(1X9RvC#hc@O|5NL+mpZhAqRG;ZY%6FYmX1MPnFq!VQpOgk+9EYRiZq zpBh4WIdml=O$uFv>csz`J_Dox)oClxIu@97(RFbp%n4}T6rw-|^W@(k1t?Fhf-XjE zt%i=tAxSlmTttxqx)RMDuSJgbO;bV_AWqdor`&`TH$V~^A(K%bb_@DAa;*xwKn+Pk z=cV0&E_!$U9`sg3aSQbEcSQ5FZ76So#M&XXe?W>+E zb%>-#(3yziI#h>TFaTYNNE?Pu&_j-oLNdo7Nr+QVpeqfi4pBLQ98qaPj;MVB9Yg1# zyn@a}Wd4cjXCOt$F$;9c0;)$8FG9y&q8$4eyw6J1KX`%TWBV->GlB!7Qc5PTkK~Pz z2)Id|b?Nin&O@FL3}wIP_BWc+P7mcN^i@2!c1(D=^~dHzb+5kH7)yy0*K22GeQc?< zzcVghh@U$+7y7h^!_&+yUQyH3tGwE0OLBVe_bn!Aulh%J^>A1l7k@Da`G;j0<#(&e zhkYJDAr$jYba&3bUgyvMFNRcf?tTNCXow8*PtV}j3)9JS6@7C>?z<$@!b)R#=e+OZ zWKLG7=2 z*>~-IO0>7YeJ)C8ludiTK*>&4$;)e{lAA2hi#ZhcnWfGOLbNtBC7`2|(ARIk z%D2fDdSH*L%;*vg#x2L0y>?gv_HcOe$klxNOjkGQ9z~TT{7$H_S!QWQ?Q%p6Oyx$Lp+?g@dkoYfZm>istx0vnX_n@M~l~_XIWX`IZ-z zN-E9Fi4)Es*h=4&&DN)zxZv)T462sa92&IP1QN1yx7*Bwr1E11UHy3nIfTt*vC!R{WrM6gsEvJO&EXnR*a(E#% z^YVz+!eHFcZVm(w=_+m^;OawS%L4nn_1jO>@t}^6GsjdXu}1wE`JB`>@Zd>lMAc4? zP8h!j^le!A$faQb; vO^)s!>%lv_6h7b2S; zfD1-L##0`VqvQ5(3X9Y{U_3OXR%wI4``0m41kLUF%KykK}U+l(UHEY`(q0cTM`-DSbgJi43P_PTv=wSL_$tGaGsXb+I1V^daq%FPlm-R@U;i-D7(! zG=?3kO7u<&z0R+^rFGV0#+qD64>I<#`1Sq4$JU)3`}%v5`0ph-A%~9C>c2>#@fJ$s zeDcOmw}uoANPak}@h)S2X(e_Kc$HbuDpkrCW46eK_Vz@1mC!o2zIfo!DXr<1CtI8P z#tcMScITwfD!#U&Yj-4+b_C_?lgx${o9wErO|-L1vsA@Eeu%u^;49eAwaKH06CEnT z@8l-bwN`apq%xvD>n!!$KG7Utr`+urKvkLLx=OLD^++eJOm#*uco{v;er*q58=c0*A??a19!owe7}_D91O zv)oU6uRu$-jXHT-c2`JkvGzEx;iZbTd|>@szicmT9#*#0eZXu`$0bp-t5db)Qt-jS zop+O|^?7PmjBo7P0qS51=F1nB(;mac$T*e}>izCJ{a1Y9;Oyet{LP%B?=;H% zbDAN=RWY8GTX(s?#f8V&<+pLgEj@6zmpf9&>YrLu>9{ZMRr^8R8iT53U}m*5+wpLmlU7ZC9%J%1RV_aC;+d%( zUkK_SUi+wC-#nQru*+!pcA4_csG{WoQoLWRdu!WwJtJoV%GUoOf^cJdvdWph#=U2QbfQjQa}(3TUihWEeu*IV7meXEG?7)4KFQ&`#k;!`=R&K&-Xs(Jm=hd znqFszg*rO8IuHcm$YL_WH(0Rwv43~t`ZWF@DM4%@*e4@GczgC*Ra}B#PdHPgPXgJa zKxNr3DxVv|yd0cF2Hpo3Vx4##$LWCrtW!R~d6ppO;eBxhT0JlY#}N(SI&`HJT<{F& zf%^??0T;f#-wNJ_6wAPMZ;Abs?U*+L2{};tJ5Y?d0Ot?<1M)U>vI~6fPawSqC{SP> z(xV@ojnoZb9lAgbP9g&};Iu)YZUo341$rRowBV#3>yYFGI+C11M=A~A1n!4E3(iBb zJF$KqC`2cg!0F3aj})(g6Em0-A5!O;#PP2#$9%N$TVS#nK@sV9jiY@(4AW_hzNV@5 z^}5vxXD+Eb=#u*QvLc?g_q^TbVg}2$^8Sdyni(0plwq~p)+m+(yVuiX39;4N^Juet z<9C)J*@|c7HPP(p0!~ii)$|UhX{}nTiu7)Fn(l0wTJnp#8|?2b@2+89*)ws(xlGRg zd#B#TGuEuMrAklK#0O>bGaBMcHfxFx^d~a8dTa5aP}f0U`H|q~(IPvyI)|wYfhZvP zE9tRo>Bn>YT88RRG#X1qW0nY(ExMcv)h6YaP2`*EhRIB7CPST9tD!;ifqhtL@=*>n zEcA-u-fEx!B#n6SW@5LkHO#Yghu-aAxKb7V4fWkgAu8KO8hx`}B{YS-IhX%wj8Dti zL2r&v7H@9fN?{G`&%orIS&U6OHF@Fa=6V{(<|R?1HwF^UjlRkf-O+Du?)6Gf1^1VA z>8+8J0qqTHSaQ_lX+E3eG|16WJDtATRzt>@JP7OJ>Oip+!k}}sq3#jMeck!(3x#`E+ z)9z=A`P8a=YMJf{gQ10{wRNhZa5%ZhUz@&^Uv#gFddovGt5I2Y+Wh8|m8|kos}V+- zG&lDj{(g^3(=7Krnbl04qT%yy)68cNn$4YymFK936FDM1b>J}Pv4bmDo9bZBqaFIV zU)+_nRsC?xRH7~_ql*0My<*ZXD92y+^RBPHg!Aa8i9233Gikb$dUHCC>gZ_HsH18d zW)@=m_ERtAg>QdE_t&LuBbRLdc9z(7!|M0-6H}Vr#D&QYU-{}5$!{9V6MvTb#@`IV M3JGJ>2J^E21Bjg)lK=n! literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/72.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/72.png new file mode 100644 index 0000000000000000000000000000000000000000..7e30a0d6cc237ad8400b11d7c14cb227e2d434a9 GIT binary patch literal 1704 zcmbW2{ZrC+9KgR;T0SMWo4UDFVh@?FWb5XxGzCv4Zi+OULayPaMm}uwN+%{xuCuNO zNj%c6VTndMQHgZ4nwfTUX=sBO>hu&HK9$%h-=EL>^ZtH0 z&N3O1u1;P~7>2n<(IY;!vfTFBvcdY@oII(*u#Ffq`XG&I@wD`PhGEPJ51iyFAafX~ zt%miv0TjOqu0*8Bz(pueI*#g$Kmp3rUPJpVLOcnrOKTubK5Rh-o>>>|;Y)xK1GhpNO?`d4=h@-V`_ zC>7P^@R>+Qvx{M{cH~8nF*o)7$n@@X+O6FkSBrQKk{IbnYj5=j{=E?6DO2FFBa#?) z_6LpeUmWi{Rj~U&&UT--JN5)ycAlRfs0}Dd-}Vj7zs*`2v^h=2X>R(r$E%68_ktX6 z=ONWAZ9?C9L>ygJ#9O&f59@F64c3?&6NbsP4CNu;@_4dj%x5EXHac!U0$L5^K-QT`)5dze^8#CNhz z{bSpZ{A_o%-tD5T+y5VwXLj-(68kpeJ!vNQOaA2P3XeT$dr%2io=T88>w*gc<%;Kz zZ6|a8n2t@1myEPf=EoI&@v^0G>+^DWqL%(Rt~VEX;w?Jbr>z8$#8ah}P(q`f2+3ck zf+z>{?yr^#MepRYuDB>Pm-FoKnoCayV?C0E-!Cncb-7gE7?MPHw|-fV4`Tmcm8AUa z3--@k@lj}!L_tnn3M09of9#E|hG|<@weGUR|CHzC7W*iMPU3IIioZ^=a(wpIL;>7P zLiBF=Ffd$YVhix~L(l1*9z$mcJ2`KPYe?KsAN;}Hanvc+diL?}RV>C;*6VDO*US{H vwFYzv-@D0*V`t+p7^}2;?~Jqc;6l6ZD7&R?sbM7RKM)p0V?-#zlTQ8z{k{e! literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/73.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/73.png new file mode 100644 index 0000000000000000000000000000000000000000..3d78e77ec2a26257a8ba864d340128a38bd9d52d GIT binary patch literal 1737 zcmbW2`#0NX7{I?pT2k7awq&QRi8YGOCA(O6M%|KB=xCI=^-!hjZmMb7sf|Mpip~r> znlooEQOw;E*RfhTbjCDsFPYo2uqf)r}#-268N&6efo&@$kAmj0s zaTG5G7a%&9fM=mRz6{k#fn1c=UyAxDARda=`9DCMg!WrO!IHv-fkJw%b zj#U9E)xc21tQv3u+IOZFIhxy90M12R5rWg|fc$zOsR77AbyySl4D$X)aBd5bg3jyw zGkDhCdK-8_B!39#3hbWjujwp~LN9K)s%!v}skP;SV$#C!XBpU*(ot-QxJ7P&k}M;+0EI)3LL$-;}}Oi?Vg_eE96v4kn7 z`$@ApIVAD4=(C!RKS=VEgx)_z{^xeiM4P^9)-_bcicK}3K4YG!S-Nmp_pVHMukzrk zg=s+uQ}X7K(>H<&c!h`QWU05S1KmYZ;bcGXWqeQyaX{ge+NUjdb?`_t_sed|E95an zkDP(f>xKF5N!HEfuAPc(`^Zz|00!Q*hmvoo zmCq*H?T@%h^^UT>X8K=6@_x}ldEUa9(g1H9acGdu$zY%KAgjXNo{8rxs_;QSrEhNp zyj#-uyRbBG^lnTJ>7o_O{?uw9;aY8^RS4lYUTbA6Y1Z?5s2x8YrREDpP+C-n-P)XV zQL4Ok$E1~%c|_VGR9kLvK1^e8TCR?dknmXUI}PId`7J)OZ;1KE$C~h%`&8r3d)op- zhwJ--gdX@ghK#KDnO#hsh~mc%?6wy-6sZ$a1_@?1Z@m0`_ojV}CAQc(rU1hS!V-PA z@axmun8ogLak8dJGlJ%#J$A40e+I`Nrpr4y>-IhT+5eA{Z> z!M5}`8`kpt<-og+ZusPx#*&+Xtxh@R^`l*T7wB>!>3MK#!t6F1&g)mw!kDbP(XGtA z0*~!%WVgfGTo}c6Y?>N9{J3{xukxcOXGLc`U3?5Si}1&DVzbetVyHl1SJ8g{Uz8UOe{2lB+bBznK%0s4DT=_(N`j=Fh1ax|4Fx$<2h8K1wR$ti;xP^;Sb z<+@7cB_u#U!Y4v4t3%CnOMm_Li7?OZ2lzNQw^(IP)zLvJ`CDu2u4JiFM>b2)4>ybo Q(ELSV?o2O6t!rrFzey$$l>h($ literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/74.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/74.png new file mode 100644 index 0000000000000000000000000000000000000000..aa8f11a738029d86ed3b3902b021f05834b62353 GIT binary patch literal 1727 zcmbuA`A?H~9LJxG2_hoR!r>4RP=t+bR_kQQQ7CkrDV1_8!yy|{f{}%R9Fk=g*cKGU zHXMSAEl?_EnRYKe8^+UfJ~Ifl!J2-+bh7a zN}xp*FdUKf3|xTLl~f}~`*sz8GZ7Uv;KW)Ww+=|C2gaa2tN~ntTr31cbC~pK}oj~z#KrYIeXnxl&$lH+%dcYNZKw>|TIf&{IEr!AA zh>|~19dhOvxB$_09Gox$luQEYQ$Pzu#Vc@u6xAULW|1Qb=8+?cUxQ=lJj6HP;fVBZ zRKEsfA;*;9#4S{h$lV3UmQaoz#ou!Q>MuEy)T90_Bzt?f1tvXNF6hWCCK3*0jqL58 zi8Qb~tMhqq^Hg3nJ>JxsKzTa-xM8aOwROxiXV9i@Vn?oHKYpT9_P z@=52nS~(lYhTM17$?UY#d?*s#-S~r19PO!UB0P9cs(WC;!d-hPg*N48c`?auEoIiG z44-R6$tR7?MotKv{lD=jyQqh+S~b94Io#ObX8JXuLCJPGZrw>5^Gv=LSsI;Z*S&0% z?{a@B$K6DFiQ*Kx<8?AHryzqv3bLO*S40;7l$1^IueDmf(9@b(9`+(Mx#Xs$xw=1u zox7P%v-aQ59SFsX1{cj1w0j)iH74_q;aiMK+~iLdC5!}ocJ@ZRrYEb)D{jld=$T0J z<gIg_!Kw)lo_=nwBT@_K9jr89r$Q1RPyOueaC8q!a!oM26hnzuuovmiIoj*<;1 zk7c$VWib4#7o{^LN8lDsc-)#>L4F^bw|qZCLJu~oy5ULk{BV5z{p}B-DltO7=Jwr+ zRdUT3YVbIRy(%I2GE7>ERCgEyG zA^uKY`B|B!J+N-aP;syAE`@mZ@b$mGVnZ$*dqd)L-oO{7~oG~W~bT|yRB Q{l|oPQ)wR6l<^TWy literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/75.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/75.png new file mode 100644 index 0000000000000000000000000000000000000000..8e4ad80e9f3352b72b9e9fb1fa391ffb7c87114f GIT binary patch literal 1671 zcmb`I`%hD67{^a$HV8_nBMerya1&T&&@wk%lu6f6Xp@N@O1Vp2RmOykY?Kv+(kP3H zIsu0+>d4s&n}ERKS_w!Y5XWt!1+h@p(sh6&wiHDW29=fbJp2dyq34s&_dM_AIp;m; zML|@gvlG*aAP8qZFFe}L>l;7ESM1kD@k}#8Y#{`n9N~)m18t9D2tqLZ22Ivupg<2) z|Kd*P^W&H+z$qlV9J~nY$SE9W0?M&YU4io~K`z4kizfSEXsXaP5(tDC{)tw3+= zm)!#4giR|1J1pt>7KVlKz|*$*J^M5p?}=LdnTKY;QftV4Pa zgA0(xhggR$*Md_>who*z3N-!&6zGB8$oWZd%7k@DY8o9$&7vdKPrwQ6hh+s9AqBly z{|s1!PAq}5Rz>&Po2`5Dqg89% zchZOpu`S~TbJzJpf8G)Llx;UHelW~ahAI>R4w_PNYs`hz0_i!|G{vWki5b7Dj$nF) zhVx9L(exBYl&y{bY1Rin*(Dct*M71_1U9e(G_V9Q#U4B@{iKnZ!9*&Z?tCb{{Oz1 z6R((OimQK2*qC40R2*O}ZLgWKtdv-^bdPSay{gdRAotwM^;;{1`nN~vGmp;Osg|5n=y{U&SpQPmwY+aBXV=a) zCH*pgj$p=X_TJEiAyH%szQ|DtC>y^T|FkYw%bY rlTL4Bl=u1PXzLvK=NE_U`+ngf^)*^+3rn)>e=r1}8x>y55uN=H{v-;r literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/76.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/76.png new file mode 100644 index 0000000000000000000000000000000000000000..05ef101f3ece901d118e88b1cbfa104f2d4b4719 GIT binary patch literal 1680 zcmb`I`%jZs7{}kq!VDMfvT&D4x*y0SXK%1dxW?z%i(dv;x5rH=sk24mG&M zVVOEjLF@(;Dz|c}6-o<8H<3%|%Ei!HXc$l!0@ZdjP@rqy^Y|a^hrXYDp7TBDIj8Sw z`V-~s8Am&JI}F1dqoX1cEd15_Ie5VG?D}?Dh+#GuB{nINvgfillZ;`MC1;!@Eh0sY zDE}Re>t>-|hg<**tw+v=9Cs1sEg-TWCvSjtwosi4<6Iu96QG|C$ZACOf+j>3)C>5? zxxj(P$gyTbuNFiqkll)00DU!W;IQvd0df{l*MXeWiOB6jBy=Mdz&z{;at*j#h@91f z=mqBu6(eWA8Ld0Z<@*zYn)LF28=%1)Q04^9ot{X!njU%!q zAP4kPAg2H|Q;-8^y+kemhANR0rV%x-5GiUzFQ9H7xnKcuK*16?P_P0Hl&>Mj;5?*F zBf!tl>*lVa`uJ}C{!2AYZ=7{CD5EC5{mc*=CSF0|nNQB70 zo(`MMoqBn>?c?lcqwEEqvBaC8x?4(0Oz3X7eRwdWc0$`b`0?$2b86tq#gPh%!&Ub( za&3#JD{)TScVAlMFiv$^a3jvi$mi1O>6^j+ab=?^#M%!RS})XB2*(Y=ZLem+#KAWT z_Z)e~$RoLDp~}w*4rdLVX@#fT)@Ze*z z7}L(ATfW|#nR$&7xb{((-J4s4cKwl6zNNPED9!eCEIyS?uU8dKNp0*oi~sHx=pOKh zHC57}V=@o5aK5#S#-BazQNt;zOfp+GFO4z9E%(OF$2SGi`q}MfH)4jit#sVTRaVwz z#WzMB4f(uwjVtc3wqpF@Tb)~PoZvKmP{&XOwBviq%d5BNmH%j1f6LpD_~89h(#ecF zT@U@2ABrD5_m=sE_m#GvQ5rP^npsVL+6^Z8rq;LmYKPg>X-5pA5hmwc0cotf;X;8iL`k_7#Ts<&8?XT2{O)3iyAW7V}8WpUPTo2zl{ zHK%03sBvFj=G2K7`3$ELMwbwO)8FM}W~Ev8Rx-aNs6|L4Q=porjoTMd=-@OzTA5>T7oI;#)>5dvzfBD0w RRLegN79DvuqAi?S{vR(=APE2f literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/77.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/77.png new file mode 100644 index 0000000000000000000000000000000000000000..d67b89ab7600509786feca5d621c5cd252b31080 GIT binary patch literal 1636 zcmcJQ|5KB79Kav!5)aQ~_65?6FOk@Z7Z3+=P>u!+xEc-)j3QyiCCLCWos3Yo0~G9_ zpg1jOV+Ruy7<=T)2t$Ukq!ijBkT0>Z?IigUV~Wn?iwi#Qw|_!EJkRTSy`T5z{r-G; zc00q3joRe2)rq30O)=3C@vA($c5PUJZgl!4xU~=H*AEnH zF%Ri60M11k2Qd#_JPb}F!^XfFLqOv=kgErJAgvSNv>Ee|^dvfxo2%9g>Ye=ttHM80Pl$B!J}_xkE@!96D8-2~x}`;ozH`ZG&rzmZL4Mc7ywPWOmFUSu>vPl0Vs%+s;L3@N z<ii+E`Tv*ISDLd+R#cjL1{*g(J`d?(-+NKJlzfspEPvk znU3tw+3}eJDfjyiW6sjhnPgkvE1?XS$LzL>?1R1>eLlS+wVhgANAfHaZSLDXcTP!% zVbOefN8ZNodR6@w$cF6qiq|nLZ<5aXpf)>;JZ)Lqod4xE*HLD8oco@oWzr>yv{L-I z^rs>#;QL1jm0L+5tLw_b&2;8=lXB?M$KPDHNysj>KR7ARui~ojXFU)MYBo>j`m;Lg z*&)h>UBZ#^hwYYja$JMa%GAF)3(3k7`SQTRt3Mx^a&oR@&Ry<3aVTwGHoQ|4!0L?m z%9>fv(Vl0jYYIs9VHH0$X`t_+fc1%ed`YTUJJs3o%o$1F8zUbr!k!4+M9mJ;9#TM5 zYvZ&CLT8SV8NVYrFl*w=ZKlISudV+&DDp$POyENfpq?!^-F?l`cPiNSEt!}-GpIi_ z#n8%k@A^eFn;S{Gy{vEBWBV#jl45S|`GAxuGpw8mj#1Z$y!UzQ?_f NsF=vuh$a@V;6FXa^kM)2 literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/78.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/78.png new file mode 100644 index 0000000000000000000000000000000000000000..80f06b904b093b81829e4e91756206e42c153f2b GIT binary patch literal 1634 zcmcJQ`%hD67{^cM7Fh#H*(M!j3XCi!L@b*M#6UrAD;Z)DaS_HPYqo~q29pdJ4OoW? z432;Vw#bTQLQ$@VOJ#xu1kz2IYuAAYvs@bNVN|4CQba&k&hzjm?1!FDKi~7b@AJOz zIZX?M5g*&JxGaJo?7{@WC#|g5{@A=`y|#;tN`lx$2*Xc>2)8&}52Fb}_{4#sCk+(p zf!bf-zIhz;8{iZ&pa#4I>*TXI&H$8RowgR|u|S@P_vH%6+1SsFl-5C>dJ`zcJoOg1 z9NAY7PBZ{r8i9$(k|uBp`%X8b50ry59PVs_i4)4_rgc z_H^FgwI&TnJqpZ@*?#Oe-%HH2Wt__8jN$5nv>W9Mn{Qok)8%~>c$czU7e88ezL;F| zLd0}FD-%D(sUi#{Hw6|x!pGzpO2|D-!=yNx($AkG1@~PJejt&GU5@-Y(by4R%hoh=C#5j z9hjgt)=lLs12Iwsj;!1-T!h~?CAE_n<~10 zVh*rVSz47<+#FGS1z$;~({+hr{__nFW_#UqPL0z((|ec zW_Gp05+pNEMi03b?wt&+|G@eb#|5VQIWt8$hnRx4&y-__nQvX(TiHAa`JBpUdasrw z<`lE9(U)arGS|s@U@5f{-lYWlxTojH!qYSK(Q+mcx#`rza+gYRCGsC;{SrI!&E&|h zR=RllG1~plxdCRb<6oa=P2Ji%G P-$8_hLec)QE&!> zyBc-~Tg8_Y;XWG>Cv!lG5e&u}U&gn^BE~lzPHsS?VB6>Y_D|@CeO`OLpZD{AKhN`d zb}QgUakkjg?FoX|5_vc*+DftQv-xG~vms%+i6HC($Q0LP`(5T{{3Gg4Rs@ywrrLX2nL z1eYS)Z-EoFK#$u%0kXIboW#C{dURZO2njAknq}ZjIZ)aFq%{IFaUSstxB*?$1TMS- z^uYawD8P$fj4Q$0krFO@sXEu%r_ReD6q*+*x+!gkMPRrDoI|0Vj{R5HGD;fuLlt4UJ_Q#MBA zuasr|)A04Trtresp=_@XMW$z(n^HZKdN7~g`C7-m(7UT!laFLH=0u&@KIz8bXL_1= z1!H~zi8lLlHf;3uOACQH{#pDUDp}xVnrB=Kx^exXI=6SeCyr6!G`aMK_RWt}&bn-E z_nuD2b5t31SM}1>R)GMj=p^E_fRin8BQnv6;0^t7>!*0jLZf~V^9R}^X z+Br5@9~1nqB{FM>Q?c&SVE^PBT88CJzolqYzM(!<5a;fDihL+l$!!AxtGuVty5f<+ z;Z3>$)xy>H^Dal^@Bb{ZzkI^+7P}^KeaE8~ql5oFTQhchS9Sc1=)Ll!f zwAaPTUh!Asi&H14jrcWl=>2jA*;#b9i(273^toh_!-f{BaI z=_Ti@#vcq&?OAl+S?{huzh-0Gg144hqVZ_uowjNAnp8FsyEC=Tr zccjMji};@|b`@9@t_;4quv~FPb74ppRhG7wTK4e|M&Hdy_ieM2$B*rerw%Jkw9WFC zdAlr5!m{vek>e?qeu`@{4zH*xf@;_+Ijj;N7*5cYKAoU zp@MoHkDD3;Iv;csH!o7%R?dBAd=|eRW6JYqO(@q~4sD`ZuAKJVdDpcwTUbVEDZ3<& zUvtlSO>)e3qMWK6F)#h}$M*+~fr@k|D8w86@!r=<51gL-)mS47+Nxtfet d>#bdTX`@TsazgC^C+oim5g8s8Rv#+J{SO?r_^{l7Z9WYC(H;dFudq( zA_f&xURDK45%6vC(E#O<7Eoc8N5yKX$a9RPJj%*F*FV}{f9IZi&pEeWQ$F*kzlGU0 zGlC#20s|O78CkOW+O*dA-WdIovxTpUln11`jTeixjm z0g`KhY)nBNxCGZ#i?QRr=@M`*=5zx%^&U{z2qZNDlkq;{KDZjYvKgHF2uQ~B(w~3} zzOFw5e~u|^0at$|uBUu~;}3v@45)ks6yi7+pHFXv_;c)%4)EzNAhjFFRp2~KaxXX& zQ~es}VdwUPOEBpwaMBx~dJxDQ0+KPON5CbcI1f|u5j&=23_GTB9Gt-OP^ZAzn9O#Z zKMNFKC+5MadYq3bTmmP);5cE6o^uJ_UrkBxF#Z$*@+!BA+}u#v;Hjhh|c*j zsnBXvZ&ek1>hszYMWQLCy7`)_LD$Vj>72t(k--bRwxGsFid$!>c(B}ifm2MfbPovL z@bjJ&Rt&9%_WHl`A!9zYpj@qscc$H9;S1fWw2?gvT3g>I_1ra|+2LT%oAa>#lpR+N zvZZj3tn#n)v!w=(-IIT1eLXqp#zV;g8{1?XwUh~1oww+1FREw{ca`+uZbd-8rPSYM^q3E=iu}y~ zoqJIUbZI=Jj2WE~_pNr;Q~T!np;@?sK=WQ{SjnXWyse=;1MR~gK3@^B0p==mT=UAejiTpw`rsyClEZE->SbYE1KB@C(OmF$Dd@06>< zg~ki~>{BLNVuvFJ3&IUdA6i1}9DP0QYVr_cJ-TXIgS{?k@dwL_)hoK0<*Er~Cwm%P zI`wGGf5yme4x1~`)oS^Xi>sdD5<(?|7HqPlJtTDQ*h zQ}qw|S&s3nqELtBTXpPX4>>MXgZCT4;j)@u+`6^1ZC0-SU4Wh|Ki(EklT??Gu(>+H z%5G!hhB;BGKBKXAa+jSD%|-E6X-1uQjqkd!Gdk*mQ#drq?Vk%J)g(hBW@V~ Pr-(q`qYSYR`_KOY%xN6b literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/80.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/80.png new file mode 100644 index 0000000000000000000000000000000000000000..5d644f4ef045cb11f52b36d10a3bded40772a228 GIT binary patch literal 1626 zcmcJQ|5MXt9Kb(j0s_{EgAlI??CiqMnpUWkvTz&BIBpkG9$#cO!GOXQ7cPiv5+%mB zadG1?!5t1LU~90=iR0_B%23=K6XKiD0)fC|a5952Xnfvp|AcpDO-C4MA)rxKSrqT*r%!fmnjzPWh6gPXoDQ zKw}MzTZb@y4P1$2$iT&zC!NH37N7|8jJ3Fq4dOf;m)1d?g7vIOQ9Z;3KLJG;7yJw^ zMRqlS6OF)tCLj+fmV+y??t}sz_svj(i;&i4aC!?+ssd8fKmpDpu7gjY8#UmfR$u`3 z%g}*~pN_YKcOj*n;1f@Y^^DyZ*8&MW(AWc%VqAplGk$}37rL?++87 zfpd`)X3Rqu4T39?jA3xfec;3>kUItpKw8Jal@`oHDyPtq${BQ|aSoioe&`F}JS6uP z<}U%o=!6ZNzJmEk=^8jOk8#3}e9x6QzxH)uuk%~*;V|DlA-wWvY$W4vx+m-28S%!( z)SVwg{kG(1_-LlusfFr{Y{qwz1pD#}qjtL^g}UxoUwE~()8KM@eCcZCxq1v~K9-$<4?dx3;_FoIi$#=kR&&QuZ*6=^Gih1H zk5^fDSGQW!rJjuxgWICZuGFz(c_rDAJ%{@m!pdU{&gKjM(AlQr*MljZYQ9QAMpWst z?vIa~O}!y)-HMX5%^Ihcwyj+JQ#n6$pujg;X80&yD2uTx-jjc?m}|+(GG9)YJ)fK} z{Kh*qqbFFB^z5$3fAxpVd5|?%UpAF{y>@7zVW&@S?FF*H?^VOvD=S%vs^O)?#9s~< zlfmigVOLkVCgHew`R&~~K}lporRwy~HTNj4*7M}ILUut!nyj%%-sD^F__Zng9hzPz zD|@g%zJ%;{;YME_XU6elKY2)r2g;6ClIyZJoBUrM+A&A)hrR9f&|23td&DX0}#U zERNq~!qyDT(2zYYNwcOe(!yq2yavg+GkI%O=Q(>nUtqJ&_*fjx8NGxP5QentuDi@5pOHe}+Ody%FA_$?| z;GCx+TL_3EFt#xn-w6sbi-F)I+#JZl8{&ou0fQ0yJdgiDKkW0`>v=!V`^&TU=k`52 zhP8p>K_LiYL-Yrc`_?G7f1F-edn!KtyNMti2=*Qhljq~Ra+gaGY@;hl`V^3@18OSV z$hc(`<5$3CNJb^N5c8yyST_L_V4kK5=b48%567j|5U1jL7Np=R#M5hl0*t3$1D7JZ zu7eY`K+hXM9#U8bF2i*V_2{^7h74SQv^0X#NZUgCm00je>hx8l* zXCn>6n1?RVg3FMMzrd*@K*N0?TL<(+S{{JQCNK{vGomA9kI<2tX>bD1LpOu-knDcU ze+m?$6Z7EoMa)M^m%)k07$@Ax`z*uyd#6A4TYDEM(UI?SvdU(3-DzWVDl@LOe|1&f zn!-?W8SF`6+3p7l6HQh2-fah;H=j=XG*7Sa&9?Qc&Gpj*;qqLWpV4iL)kp>Gfh>4H78FRbC+z>Wf42Q zdo#3rk$6UJbxEk)*zGhczt3vX-r{C1gofHHScgR4X?3~d!3}W;rAP_E+}qt?(m{`-YsBtK4zMojk4cK@oo&`K`#_ng8`+7UqjLH5$D*E+>*OKC+wX%{!e|b%J%v)f9exs!$Y#CDI({$lS^!o z8DuAqF+-ZgyMj%67qVKPBHDWIe4_u%OSS3t@dnkX(x~4QW+Y2TPHbOn^QkHh`IGG1 z;FzT1NzRdMb)6Nij?LVtwWJLik}llj)D|xVldbERw~a3*f5lB8FN{`sH0hc=JK(nt z-?N;uL;d9G!&+BT(?7pBS-oN@)c;P-o$2yrxi&R_?(o`gyW*&}{4`9vu(^8ekAjG1 L#zfXf@V@>JbE z%it>H;1zJ96UgWSijfK}IEi)L-RRgimjss~y}jTp9Z;nQ(yjufc#gOR?nbv6z-2!H z88|O@09^5W|7Y+)q{;;Deom}syMggOAYlgDhJY%J%kX~gO^6Solf&TNTR@ftD6?W7 zl3@oIBHg2yhc3GVP9nKZaM~Eq{U=c90y2=^NpNx+^N{2WI+C12N80AW37m)ZH@Fxn z{1x*TfeLiO2hMto`AF4MaKeLeB9i)@lX$*kPsK1ngn2S~2M<*=F1RcuLkwDK-oS%^ z=|ulhYaMN9?dzr8oi~fi5cjUbLp>;Mc@a4YWswdZsS=(+1EVYKPSaV#;{?KyW zN&hR(c;YioZT6XhZ!1j4_Eh<;x*kmvrM+oSawk6^MRj?br?1cZDkXm78AcU)l0NL!BJs zFZgYR^%s9!46u_9m-8xLj5TvAdD|OG{PUXcYh$RSgzY_Ra5u9 zP?ESZ&|zHPNwaQvM95Eu+axbh8^!jFgVjArRQ$Wp=6_4#1!wauYJh*=i+Z&GV-Y>n z(62I^?-ztRo@h)9XVaPKw=ZY4tP{Lf_xRnkGkZ_**s8Wok#E*V9m{r{j)rDAhSD*0 zN=j71aa&WYT^|{f8?eS6Ep{4LnLFU!irUYpq_a0XI7&}>Vd>iS{D?~Gsm9CY z@%LP>M9;5rNZkD-F_I%4b)KWXy!RtaWl<`4Bc0l389(~zF74aY)6{e;cb4 zhR-YWK3D2JGf9W9wdL!myQK2?B3WN| Tw>=R2D&tr?%Ce7UxQWW3wEFr@S zAHuu^+=yhgf@`o&H;T`>fhw%Cp2T?qkc;uY?iA!S?B_?SPD3vL7O28p zeg<5J>^=)lodYI(2NWYU--8>muS<`P@69rTtC0R5z!~R(IunrgBT$adQD$%#y0r~l z)d5Vv^|CI4YaZXf4Bm~@b%DDc6Z=_vFmDG^y+G>~pbm2t&d>S<@@{lvAGrTFAfq3s zvS1xD!3NGpy8ggAbk!iZ5y=_`r`-U${si(JzyzfKFL0w9>ySndI?{Lt9clG}Q@9?+ z1h^QxzD|u2dg6YT?QUgO40@u};qgy;8Zn&XqKINV`AU z9kZq>JQVI_D-4ErhVHvpESOU^ke|Q)_2yaa2d{i8sF55fm$E|#q#fUo>*HSsJoM6k zm|q1W^!DRfTN8WZ%v{Aob*FG9-r01ij2E6Vs$w?T{^W+K(WU)g8umm!sH4g3@pogS zn=4mdc6mQ16OG8yqqSx2CA;0%J}W&)BJZkVf2ZBgN$tv&=MN?KZp^y$?kD4>GgA`5 z9*;7%ha}gRPI?{3WW#w+6|TttH`sR}E$%eU67j%RFq|yF{A~mUC(bMXfW< z(NYCdvUQ0sys$!N(bR3>TLZOEcn04efrOsAUsRj2Ib6?u(Waga-t?09-QegywNCr; zSVg^otf+(jb7^=T6B>HeM$)e?-1L7P4poH&>ASA;V8e0`$M1Vn;D4#hb@6Xy)L{2hL`WFFPkE4el0H1b0f{`e9PT zJ-be|>G=@Kjk8UMOL!;%MME2Uawg%GW8Cm)?^Suw} z%q8JT4WiZ_uCKk)s}^LYjFE%z#upo_LtFOcO{_Kx$!R&82ATs~S~6w4HO}W7uT*&# T`)-vj{1Z?)Y+klLOI-aQvkTn> literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/84.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/84.png new file mode 100644 index 0000000000000000000000000000000000000000..05754337a3725140fb98282ce447766779df2cda GIT binary patch literal 1598 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 literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/88.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/88.png new file mode 100644 index 0000000000000000000000000000000000000000..4f8f77ffc9185a000f1a6baccbe88f62bd5206eb GIT binary patch literal 1607 zcmb`I|4&m_6u{qfafGEw%{J!{MzPt5pjc zEOtV+$bwQj2Qr|*D;3JuwFsN?y(&!C*)Mh$2F0|PQR0BI_MPK@upi$0*9bAJZPF`ioo zu0k5>!HEVSLk$!oOB=yST-Vlwj{D}2;Bur}1I}szsrO(HEzzs;19^CevxSp{W<2oSG4>a}xRT!7!{G8t)Za^mo!QI0^)(B8OhIvTF zU2p-?Hja7d^84Tkcc^w^yjg*1u}5% zB7N(QR(+Jh6n#=dnRLRtAQ2^L3w9S3Bv%THkDQYX9WR{eIJIK%?ik-vl(&BW3+lLC z%>Iv0Xr`CE(y54ex30j#8;i+qPWR7lnH~4`MJhF!ro69aWiFP^zU`l(Z~0DET=%>p zzxl`c2Yc7$gj+9AQxDWF)A~jS*xT~cdM)q061w*EPG`&{XgEg9%gL+<(?F3N7}L| zR>zg9v|CI0yke2Q%);6?e7a_XkYcFKX>3YkQMN`CIvoaGs{EoWwR)H&s_|6sZ`b<6dS8Y-n>)MVFq zoioR4Y@XV5QPLhNcahaPw&m!~+Yf)G(mz+^OLMLU+f5DZ7HWqTrnGQd$HeH~NtbYu zq>eXT$96=Y&+?KMa5gmR>yT09=v&R_NAVPbl(qxNaQBRH^qt1{s#$w B>%`Y=IlDhHbqST_ljW1jvp?z0MUF|I2bAkM^oOGtSm#Pgbfa*XF) z0aqaVn!%~>fI(M*Vq|p-IE{VHt>}1e4h=3xF13NP+kpxtkl6vu!#YX@ZbsL4g3EsZ z2I0J%Zt&`->pkFoNQD~Q{FK;F|0Bk`fK)$F{}WJwaXIeK8Gv{nI{gdy(rqC74p6Sc zJY|l-e(%?M~a2v8{YymC23cx?7YqR8{fiaa`#m{ zSWk~+@LaVw^Q|Xr@kYz@!p?ESrPvt0e?r2u4q3tl*50BW$9lu}UR&oz)kZgeU3@D+ zQg_wMH`p{h@_Y86G^SjZeEjnko@FRiSC(T`YbHD!nL4*+SB5RUn3W~JPId3xa(J+3KbcC& zbJ_Mu@31tzSNo`toTH>B^4-uX;Szcum3XuLsl#~>sp>sE!lKH#1=Sj(G>b-qZ$uNs+LW7=DkVpo^V6kZfootY6mAF zixEe*ORM2~i)A^3`*O;Yk1h literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/9.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/9.png new file mode 100644 index 0000000000000000000000000000000000000000..5e62e451c442a9242354b5308c3515eabce16d40 GIT binary patch literal 1755 zcmXw)do32l)6g?>33W>=e6}^xG6z8J;zI`y>ja>W$x^@7PI0(s=qdG+V z2y{B)^ix!aoI4I(jOhCeI&KtldJ>ZU0uqm?oq{e_p*lqIEOJEg9CAd(B6JL$hp2(h zM5Oi>b{BgfXD6E{&kqF@_3_8P^pL*PA&(fWzh2xr}Ip_oc0g>Xuj%9QbwMBKiP zo}IVu-`JVs%nm8MZ>owyR=<*6x_zzsqa>sdmz{roQx8Dyv1grhn?K@tmJ` zAkQg+Z&nk1$A60jc1Qa&Z0lFo(9PD)v4Ny>pi6R=B*x89{))9xne5qyyJfDTS_?l_ z^MwtrIj3W-OPpzAySt~g;a#)UYGr?I+Ld|G`9n%hLbtS6Pijb#GUNW}SpYf}NwxqHEl)sN%+PO}%jd zILy46tMWHh4?W+wW33X5GT6^1q%JKg52Mqz@-pYbPCVZz$|?4?b(F2h@+3IV3tpDO zms^&g=gJ(u<4)R03zo;;ijz7y5@vyy=+DKokV=r1u# zB=rO%_ab?grMs(8{-uPhKAW3sKe)B;3FO^9PHD1b(AtOCN5KWN3vRE)y}T#&cv4!T%IG`C|6o7#eeyZ?+;i`_ z@4mEzcl5BQ$1V?oAUvZY!;fuH;r?xTW#ieD`ly*8UL|-(jz{p;eAb5J2!i);Cq?Eo zkT(G|{S4#IQH);&*C9D7@G{I(PT{;spakp78BBqY6h1W zfOPDaa}&Jm<#;=ICsNq~ZhuK!&t$}SE0E|0n!12Wj7zXS=MKa>(RKI0oqqzEy+BDn z<{{~3a30b=gn8(azrb}!juo6{0ouobya^y3>9m3CCNU4Gdx(zIIna@&S#SdTVa|gK zki5H?zW^*lCzimOE0~W|{tHe#!8q{-b&c-S`1t`{^Uy^z-EaLl=9r;Bj#Av@>%` z5GOcaXiL&&{}cV$Z19P|O0UVqcg^Z3D{HW(YM+|czvWq2>}ukeepHjPW70P;IX5F9 zWj(R$&F=kSzuw}WUcR-danJSGG-}M2v^wrTJ+oZT=KbxLaG{VZEl+fLzp%6peE;E~ zXt^}Qopt{!vQcc&?^B%Nr}9^Vpi(+%<{nNOWs|bA#=Rp(wQrKRvLP&l?5W%?T>&V+;#%*dF16t{@F!pzb>4wL%Z)w7O|8y@yPi0d1-X1ET zeL7U6xZAMqB571V_kStXOUF&#`3ckt2S3kX&kl!(&Ty#F5t&{jZxZp}%6(57CrvwF z_@sWVK~{6cni)iPryekGZF_wiRd&9N`{EC(!hZLr{@=$E>$D|n^x$vq{z7)oY%adJ z;@QHdHrOXrZRM62(ysMck65Vw)5jcfV_x|uDt>f5mHF`f z7D2Q7V6?&vn}tR8M<$pCw`EqGf|o6eoMj)&`=-4(8D2JNHrAeG?Qz7b0uQ)~BMzk$ zQ>XA;D_6`ZYN^f{Ly=^^bUq=-_x+DTsVdDiOR~T(G@G*HOY%dgI^Ug|%R4KaxAw)x zyYInrGGe-}hl#L;j~ HnBd%hM)l{3 literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/91.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/91.png new file mode 100644 index 0000000000000000000000000000000000000000..0ae53d0fa4e804111c50d4bb019bb86c8f69a92a GIT binary patch literal 1612 zcmb`I|5KB79KavaOQM^NtJLfw3^~${wfTikv~#QxJO z1@Y}pD3%QdbKvGM4w;iFkqL8a;F!SN8W9xV$Cs%CZF}Bt|AT&bp4YwJ&-?TFyg%>f z^W1ZqpAbh0S|3CZ1SOuse$U5B{}uRz@2*Yz`w~H{Ao%YHVnyK*%T^&l@JH5=q>lpm zcA)v(S~5O!2jf43tC37OcnRjo{=#uCpak>GbvVx=#6|dARu6G1t~Y~}C?GCw07@_} zZUmPhJCxwWd0?mtC_A{lz6365 z1BT*$neE^ukDp%w??B3~f;%4**E1V1-U=i-f#&N#8O9|zKeG$s9q8(t;4?iyx)CTb zVIDHn0?tP|`!Ek((hsgiG6%q^w}H+fAm0uQMb0?D)h^6Ksz=a~>M?Yrc^sU;{m`eu zMM(Y)%y$Dz(1}HG`hCnt%9g;135*l#$n&hm@wWVwSAE~Ys(5ycAh%}HZck7#sj(k0 z^p9Tq?s!jURK>%>Wa9%GC2q%5U*)L)y?*6!UFwB)&!0)s;d^rxhCqGXL(LXCOIKUp zq^Oc~?I_HByQqJ!T%p}eJf4yavDRze+ z>DDHaWoS7O>++xK6D^aCZ7nEG6_?vQ2bPnjon%8Y=NX?Jblk|BmM(1n_xCVMI)kMv zG==fp>XD7@8Y$V;4DJaRSITT3_>F8#A=fLaZYdmUP4k4z!~4o+uh*4o>lrsQE-plz z#X(-@HC`KUV4UA;_g)o~-B}zuBDu? wL561_eZ^&i@-$h~Gn*~FAlTeunV|Vnu$U?FuoMY|_7WFmdD;2Ib9AvN>pNX-H|((C~z@H}x|Z~>A( zjQx**a&%%DJT8F!Naa7^#C^<(=c(^pgX2}Nh(`z_#K%iHbXa`(!Hnb75R=Xw?;CmY zq--@+_3U?s`UBD4r4Ll2^9vdNJXE@?--vv96S7ZPi%C}$^1 z!ip~MHy%v>(OhQ@=;M#q6jq8Q`z-NEu`N25slDPQDrs3ukKR6UD6yJq?UrR;>~a^e zulvWRl3B6FexKmImbEOaa=5UF=C7xBmdekbjy|`A8oD*HL3B?adTcBru-oql_O#XWJ&PS)PqV%fNlXU>}-_wizxJn~{h@&2;(EP2IJmK#1 zli$8d9jAG-Wv{kMoJzi@|NGHA{qf0dy(ey2$(<-<2?pnqD)eS2b>#I>cjXb6zWJ+y zoIA5*{Z3WWc>hYzPIr0Cub(ZOWVEBLV|kV0fJ~(Oa`*PqA?q*HER3@zYP$@3+Sg~& zZslp+67LloS<0O?s7=PU>Q8Oq?uS*1Ko5N^%)h$9t&b>XXCHMmBtDLRC}B{kTJdl9 z{krEysdbxVnK^e~e&lh?(gV3vIawwWHnKbkXCxm{S5~u`SM3;~?&X{5Vs}aod^Y8_ zy6)ecKTi(t5-A2s{@f6}TyL9%{mv%~2A$`H9`dEyR_hiD`cpl<+MChcWUylN+Pw#o dXvb?-XzuaTOJ8`Zih_R!1dp4Q(vd7U{~r>W<$C}C literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/93.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/93.png new file mode 100644 index 0000000000000000000000000000000000000000..2c2d65ea76c178ac856fa6bb90df4ba1e5ea717c GIT binary patch literal 1618 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 literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/97.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/97.png new file mode 100644 index 0000000000000000000000000000000000000000..0713a51962e682fe259e2c0a6d41587c36ec5665 GIT binary patch literal 1576 zcmbW2@l%s^7{K4O>o`4VWH&)hSU0?&dJ(XgB_UIwq6j5$;gq;~8uU~mkGL4?ePgec%7-tY7H5A?&npZD{;&-eR0 z&%V3c8O4FL&<$HQP!tuKE=$Q=<2mjVvTki{%K3|>sP&X0BP&(;q9{1VQh5z8;*xy5m-K>|4TsYmsw};9?t)ZUXX}fd#max(q&!?q??gIiY(ui+kdpayYXHHZ^uI4Rh4Y_!I<|r3y9`Z4Q#ya>YcF5 zyxx#|(z0gxV8wBjtLaP4{?mhrvf2J!O9hqdCx@hagdI^MGU29#m$y}!J|)?_qRT+{+v(t=*tTI!>cvw&RBKLFjrm}+GqXkqVWcQ*TH=5_@}-x zd{UKZI{tWTVe}Y(ZQN+3@NTQL#Qz~h2b;)z&oYLA3o*j_)r}n_;UhgiTP0df%qQi# zqRpL=_Nj<>PUn50(dL-LZ$;JCkV%trg~43XMFsb@{LdxqitWfIxiyO=a|)_xb)uzP zXEFK)xn@R}$`($=sr_ePH~LygKSe%vQ5871N0sr$>OZ<2FOA5OzYd>p#hC5h{KpTI z{G_$wh1#Gove@IPBWhO*b)Nhloo<}cAsX660)>!!x(9}*sf6>q*oim8rT=rrDPdBc#j a?XcgM97f&m{C@2pfJ#q2kYbf8OaB9&huozA literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/98.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/98.png new file mode 100644 index 0000000000000000000000000000000000000000..86b7c3afaaa267012dde3972340657526e21d3d3 GIT binary patch literal 1574 zcmbW1e^Aq97{I@2T^=3hxI_yUP3%zm}U&w-6$f_7DjG@akHH|3k!eH zjZVZ?;OJT1#lY4)qtxoPd$$3Y(ORE8EWx4Zir{$zWN7l1kfOjL+UEtQo#QO}tVf-?X>IE8lfNG2@@%h|7hhfjpPo4Gj0N{w}ApPkcD)PfYUb2L(&uINcs*s(qIRtuphPqJPRqf zhWRd_3Y~I;v*$1$sa^o5rZG-ENB-wDp0C{~zfMuhMib-SNtKt+n19c+vlu*KWU1G? zN7BdoX+seE?_zh5xkI>Xd)@q#LtlPSX3ccWD#mYRHXZRsxbs6kool)$nLJ;5G{EL@ z=k}lVxN2Q1gTIKVW9V1h7r$cch*pR+=Od5F6tJ6_w+QY9JO2o-) zD+6p3uNf;`m-l>4661Z@@kLV#jp?aqU3YkIL`;-X=MkAVTfDgo%#n3B-;OVOdV{et ztZ~chX%&jnc439DoaL)>K6lMi)z7B><(811LR$E-4ZV(;#r2?Seyrjl$5dZ=J1m$~ zGFUbIZAUY=Yy2F!Ss8d&)3djA(l?I~1y9WEn$DH^I&r8%54}lFobpZbe=dJU^A6Ny zB-3P=`p^&6`)5x3m+jn7ZdeF4(@D(E^2Obr)nq0wD0Cj}Iq~A1;^Jr0HTqqJa{I|m zw~n1{;Z#kK@n@uIsx$K6Y8Rd+#kca3u57uQH@kS0l)TaXamv_t<=Njql#T5Z%z3$6 zeQ$lXn!nzZp4jomZdbkKQ4*P(U0m|bzLA52oNW*CNhy;(RgD7&u?Xhfd~%Y!lmC{4 zZ6?duTr_D#notrJ-u=>h*^y*KpRBy*5PrnWxuLZLcZyQr4g2f(#{&_8b z-`&n|lM|N&Fas!xTEbx`?C|hw@6T_M=h?J>QcY356nA?n&0n$7J+zCWxDz3SEHjX6 z0BUQOk+|)5jMssykg@gP63mnSiTg}I5$0*X#X3%i^Ko7J9mE;f&xRDqAf6)!iZGtj z04_y#UIM2s1H-=u@{y88a2577D$w!Vu_|y8(sl)$brmRW0y3I`Ik=B%0XL#+)!?G* zz;K*5_6E3QVZ9B!6DjQgH!cwSX>Vb?6-adhwOv3d#zj~^_D6_!qN{!Zx7`7%qbSt^3eLlKd5&e&@|^N|?7-b+3uLsfcusZ_w~81ueY9^$QyeM|0Int6mwr zCdfVNt@uGUtaC316xCh4udFtxG@leY z|33Yw{Tbhoyr@y%UF0mD$i+tG)#;R8()wdsGobZ<;xNfhT&=s_TDP>VqI`EFDeoh0 zmOULBx=glr`yiw*t`PS)1bs=o4tF|9naC)6Yp7=9y-npUo1c_1`uyxO3U*d}+H6+# zz--l{p9aX`OH=FBJ@*p@?|!Z)b>hXr?zC57DWkrpDiq4ci~qh$W?17LDK9K{jC#gYu&q6Q z_8-J+e>V3I7Y!c?BPGUNDbslJzz;$OQt`u zO1Fh`TKQt1&}UX(c#PcKOhcjGJXu_H@+^EQbx!M^*Q@ni=gG}kM`qd9F7Ipk@60-X zm*53cAn7!IHZp04h;uBelGND0xFY1nlzz1(e~(WYep2GUB26*To?D)$u07moU+;hA Roaaw~;?T(nia7pf{{p>7&gB3A literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/bench500.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/bench500.png new file mode 100644 index 0000000000000000000000000000000000000000..071a8adb8f3ff6855e8ae96bb2d466d4ac7f7242 GIT binary patch literal 7384 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 literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/benchmark.png b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/images/benchmark.png new file mode 100644 index 0000000000000000000000000000000000000000..159ec7784dc0e7e561e64dd6581e58da2812a20f GIT binary patch literal 7147 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 literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/philip_nelson_hw8.pdf b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/philip_nelson_hw8.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9c6ef80cebbedb8f20485eba8fc3a4b1c638735f GIT binary patch literal 343992 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 N#RsIJkx-Nb{s%JK-e&*+ literal 0 HcmV?d00001 diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/philip_nelson_hw8.tex b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/philip_nelson_hw8.tex new file mode 100644 index 0000000..40743d6 --- /dev/null +++ b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/report/philip_nelson_hw8.tex @@ -0,0 +1,243 @@ +\documentclass{article} + +\usepackage[utf8]{inputenc} +\usepackage{geometry} +\usepackage{listings} +\usepackage{graphicx} +\usepackage{geometry} +\usepackage{courier} +\usepackage{hyperref} +\usepackage{animate} +\usepackage{amsmath} + + +%\graphicspath{{../images/}} + +\title{HW 8 \\ Game of Life} +\author{Philip Nelson} +\date{2018 October 26} + +\lstset{basicstyle=\footnotesize\ttfamily\normalsize, + breaklines=true, + stepnumber=1, + } + +\begin{document} + +\maketitle + +\section*{Introduction} + +The purpose of this assignment is to simulate Conway's Game of Life taking advantage of parallelization through MPI. The program begins by populating the world such that there is a one in five chance of a cell being alive. Then it splits the world up groups of rows and sends them to the other processes. Each process then exchanges information with the processes to the ``north'' $((\text{rank} - 1) + \text{world\_size}) \% \text{world\_size}$ and to the ``south'' $(\text{rank} + 1) \% \text{world\_size}$. They each determine the state of their strip for the next generation and send the results to the master to be displayed or saved as pngs. This is repeated until the maximum number of generations is reached. The world can be displayed in ascii on the terminal, or saved as a png and combined into an animated gif. The command line arguments are the world width, world height, number of generations to simulate whether or not to output and output type (0 - ascii, 1 - png/gif). + +\section*{Code} +The code is broken up into seven files, main.cpp, communication.hpp, rules.hpp, cell.hpp, random.hpp, output.hpp, and writePNG.hpp. The files are included below. + +\bigskip + +\subsection{main.cpp} +\lstinputlisting[showstringspaces=false, language=c++, numbers=left]{../main.cpp} + +\subsection{communication.hpp} +\lstinputlisting[showstringspaces=false, language=c++, numbers=left]{../communication.hpp} + +\subsection{rules.hpp} +\lstinputlisting[showstringspaces=false, language=c++, numbers=left]{../rules.hpp} + +\subsection{cell.hpp} +\lstinputlisting[showstringspaces=false, language=c++, numbers=left]{../cell.hpp} + +\subsection{random.hpp} +\lstinputlisting[showstringspaces=false, language=c++, numbers=left]{../random.hpp} + +\subsection{output.hpp} +\lstinputlisting[showstringspaces=false, language=c++, numbers=left]{../output.hpp} + +\subsection{writePNG.hpp} +\lstinputlisting[showstringspaces=false, language=c++, numbers=left]{../writePNG.hpp} +\newpage + +\section*{Output} + +\begin{lstlisting}[showstringspaces=false] + +# mpic++ -O3 -lpng main.cpp -o gameOfLife.out + +# mpiexec --oversubscribe -n 5 gameOfLife.out 1024 1024 25 0 0 + +Simulating: +--------------------- + +1020 x 1020 world +Processes: 5 +Rows Per Process: 204 +Make output: false +--------------------- + +Simulation Time: 0.243867 +Image Write Time: 5.0079e-06 +gif Creating time: 5.90226e-08 + +# mpiexec --oversubscribe -n 5 gameOfLife.out 10 10 10 1 0 + +Simulating: +--------------------- + +10 x 10 world +Processes: 5 +Rows Per Process: 2 +Make output: true +--------------------- + +.......... +.....*.... +........*. +*.*....*.. +........*. +.......*.. +.......**. +.......... +.....**... +....*..... +---------- +.......... +.......... +.......... +.......**. +.......**. +.......*.. +.......**. +......**.. +.....*.... +.....*.... +---------- +generation 0 complete +.......... +.......... +.......... +.......**. +......*... +......*... +........*. +......***. +.....*.... +.......... +---------- +generation 1 complete +.......... +.......... +.......... +.......*.. +......*... +.......*.. +......*.*. +......***. +......**.. +.......... +---------- +generation 2 complete +.......... +.......... +.......... +.......... +......**.. +......**.. +......*.*. +.....*..*. +......*.*. +.......... +---------- +generation 3 complete +.......... +.......... +.......... +.......... +......**.. +.....*..*. +.....**.*. +.....**.** +.......*.. +.......... +---------- +generation 4 complete +.......... +.......... +.......... +.......... +......**.. +.....*..*. +....*...*. +.....*..** +......***. +.......... +---------- +generation 5 complete +.......... +.......... +.......... +.......... +......**.. +.....**.*. +....**.**. +.....**..* +......**** +.......*.. +---------- +generation 6 complete +.......... +.......... +.......... +.......... +.....***.. +....*...*. +....*...** +....*....* +.....*...* +......**.. +---------- +generation 7 complete +.......... +.......... +.......... +......*... +.....***.. +....*.*.** +...***..** +....**...* +.....**.*. +......*... +---------- +generation 8 complete +.......... +.......... +.......... +.....***.. +........*. +...*.....* +...*..**.. +...*...*.* +....*.**.. +.....***.. +---------- +generation 9 complete + +Simulation Time: 0.0599119 +Image Write Time: 10.0065 +gif Creating time: 0.439408 + +\end{lstlisting} + +\section*{Findings} The findings were fairly unsurprising. My computer has two cores with hyper-threading and it is clear to see that performance improves as the number of processes increases until it surpasses the hardware. The graph below shows a 1024 x 1024 world simulated for 500 generations. + +\begin{figure}[!htbp] + \centering + \fbox{\includegraphics[width=150mm]{./images/benchmark.png}}%tabe size + \label{fig:graph1} +\end{figure} + +\begin{figure}[!htbp] + \animategraphics[loop,controls,width=\linewidth]{12}{images/}{1}{100} + \caption{Conway's Game of Life GIF} +\end{figure} + +\end{document} diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/rules.hpp b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/rules.hpp new file mode 100644 index 0000000..bdddecb --- /dev/null +++ b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/rules.hpp @@ -0,0 +1,108 @@ +#ifndef RULES_HPP +#define RULES_HPP + +#include "cell.hpp" +#include + +/** + * Count the number of neighbors for a cell in the world + * + * @param world The representation of the whole world + * @param i The row of the cell to check + * @param j The column of the cell to check + * @return The number of alive neighbors + */ +int get_neighbors(std::vector> const& world, + unsigned int i, + unsigned int j) +{ + int neighbors = 0; + if (j != world[i].size() - 1 && world[i][j + 1] == Cell::ALIVE) + { + ++neighbors; + } + if (j != 0 && world[i][j - 1] == Cell::ALIVE) + { + ++neighbors; + } + if (i != world.size() - 1 && j != world[i].size() - 1 && + world[i + 1][j + 1] == Cell::ALIVE) + { + ++neighbors; + } + if (i != world.size() - 1 && world[i + 1][j] == Cell::ALIVE) + { + ++neighbors; + } + if (i != world.size() - 1 && j != 0 && world[i + 1][j - 1] == Cell::ALIVE) + { + ++neighbors; + } + if (i != 0 && j != world[i].size() - 1 && world[i - 1][j + 1] == Cell::ALIVE) + { + ++neighbors; + } + if (i != 0 && world[i - 1][j] == Cell::ALIVE) + { + ++neighbors; + } + if (i != 0 && j != 0 && world[i - 1][j - 1] == Cell::ALIVE) + { + ++neighbors; + } + return neighbors; +} + +/** + * determines if a cell is alive or dead based on it's current state and the + * number of neighbors + * + * @param neighbors The number of living neighbors + * @param state The current state of a cell + * @return The state of the cell in the next generation + */ +Cell live_die(int neighbors, Cell state) +{ + if (state == Cell::ALIVE) + { + if (neighbors < 2) + { + return Cell::DEAD; + } + else if (neighbors > 3) + { + return Cell::DEAD; + } + else + { + return Cell::ALIVE; + } + } + if (state == Cell::DEAD) + { + if (neighbors == 3) + { + return Cell::ALIVE; + } + else + { + return Cell::DEAD; + } + } + return Cell::DEAD; +} + +/** + * determines the state of every cell in the world for the next generation + * + * @param world The representation of the whole world + */ +void natural_selection(std::vector>& world) +{ + std::vector> next_gen = world; + for (auto i = 0u; i < world.size(); ++i) + for (auto j = 0u; j < world[i].size(); ++j) + next_gen[i][j] = (live_die(get_neighbors(world, i, j), world[i][j])); + world = next_gen; +} +#endif diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/test.sh b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/test.sh new file mode 100755 index 0000000..0bfd7df --- /dev/null +++ b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/test.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +for i in `seq 2 10`; +do + mpiexec --oversubscribe -n $i release 1024 1024 500 0 +done diff --git a/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/writePNG.hpp b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/writePNG.hpp new file mode 100644 index 0000000..78c7db6 --- /dev/null +++ b/CS5500_ParallelProgramming/8-ConwaysGameOfLifeParallel/writePNG.hpp @@ -0,0 +1,76 @@ +#ifndef WRITE_PNG_HPP +#define WRITE_PNG_HPP + +#include +#include + +/** + * Saves a pixel buffer as a png using libpng + * + * @param filename The name to save the image to + * @param pixels The buffer of pixel data + * @param w The width of the image + * @param h The height of the image + */ +bool save_png_libpng(const std::string filename, uint8_t* pixels, int w, int h) +{ + png_structp png = + png_create_write_struct(PNG_LIBPNG_VER_STRING, nullptr, nullptr, nullptr); + if (!png) + { + return false; + } + + png_infop info = png_create_info_struct(png); + if (!info) + { + png_destroy_write_struct(&png, &info); + return false; + } + + FILE* fp = fopen(filename.c_str(), "wb"); + if (!fp) + { + png_destroy_write_struct(&png, &info); + return false; + } + + png_init_io(png, fp); + png_set_IHDR(png, + info, + w, + h, + 8 /* depth */, + PNG_COLOR_TYPE_RGB, + PNG_INTERLACE_NONE, + PNG_COMPRESSION_TYPE_BASE, + PNG_FILTER_TYPE_BASE); + png_colorp palette = + (png_colorp)png_malloc(png, PNG_MAX_PALETTE_LENGTH * sizeof(png_color)); + if (!palette) + { + fclose(fp); + png_destroy_write_struct(&png, &info); + return false; + } + png_set_PLTE(png, info, palette, PNG_MAX_PALETTE_LENGTH); + png_write_info(png, info); + png_set_packing(png); + + png_bytepp rows = (png_bytepp)png_malloc(png, h * sizeof(png_bytep)); + for (int i = 0; i < h; ++i) + { + rows[i] = (png_bytep)(pixels + (h - i) * w * 3); + } + + png_write_image(png, rows); + png_write_end(png, info); + png_free(png, palette); + png_destroy_write_struct(&png, &info); + + fclose(fp); + delete[] rows; + return true; +} + +#endif