{ "cells": [ { "outputs": [], "cell_type": "markdown", "source": [ "# Parallel Computing with Julia\n", "\n", "This course will cover:\n", "\n", "* Introduction to parallelism\n", " * What is happening to our computers?\n", "\n", "* Parallelism strategies\n", " * SIMD\n", " * Multi-threading\n", " * Tasks\n", " * Multi-process\n", " * Shared memory\n", " * Distributed memory\n", " * GPU programming\n", "\n", "* Challenges of parallel computing\n", " * Order of execution\n", " * execution of out order of Possibility\n", " * simultaneous access and mutation\n", " * Data access and movement\n", " * Code access and movement\n", " * Appropriately matching the parallelism strategy to your machine capabilities\n", " * Appropriately matching the parallelism strategy with the problem at hand" ], "metadata": {} }, { "outputs": [], "cell_type": "markdown", "source": [ "## What is happening to our computers!?\n", "\n", "![](https://raw.githubusercontent.com/JuliaComputing/JuliaAcademyData.jl/master/courses/Parallel_Computing/images/40-years-processor-trend.png)\n", "\n", "Not only have we gained multiple cores, but processors have become extremely\n", "complex, with multiple levels of caches, pipelines, predictions, speculations...\n", "\n", "## What is hard about parallel computing\n", " * We don't think in parallel\n", " * We learn to write and reason about programs serially\n", " * The desire for parallelism often comes _after_ you've written your algorithm (and found it too slow!)\n", "\n", "## Summary:\n", " * Current computer archetectures push us towards parallel programming for peak performance — even if we're not on a cluster!\n", " * But it's hard to design good parallel algorithms\n", " * And it's hard to express and reason about those algorithms" ], "metadata": {} } ], "nbformat_minor": 3, "metadata": { "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.0.3" }, "kernelspec": { "name": "julia-1.0", "display_name": "Julia 1.0.3", "language": "julia" } }, "nbformat": 4 }