├── Code ├── coroutine │ ├── main.cpp │ └── scheduler.hpp ├── lecture10 │ └── lecture10-threadpool.cpp ├── lecture11 │ ├── task-parallelism.cpp │ ├── taskflow-matmul.cpp │ └── taskflow-parallelism.cpp ├── lecture12 │ ├── relaxed.cpp │ ├── release_acquire.cpp │ └── release_consume.cpp ├── lecture14 │ └── parallel-for.cpp ├── lecture15 │ └── parallel-for-guided.cpp ├── lecture16 │ └── parallel-reduction.cpp ├── lecture17 │ └── parallel-transform.cpp ├── lecture18 │ └── cuda.cu ├── lecture19 │ └── cuda.cu ├── lecture21 │ └── cuda.cu ├── lecture22 │ └── find_if.cu ├── lecture23 │ └── find_if.cu ├── lecture24 │ ├── reduce-slow.cu │ └── reduce.cu ├── lecture3 │ └── lecture3.cpp ├── lecture4 │ └── lecture4.cpp ├── lecture5 │ ├── lecture5-async.cpp │ ├── lecture5-custom-async.cpp │ ├── lecture5-promise-refactored.cpp │ └── lecture5-promise.cpp ├── lecture6 │ └── lecture6-job-queue.cpp ├── lecture7 │ └── lecture7-job-queue-cv.cpp ├── lecture8 │ └── lecture8-job-queue-cv-bug-free.cpp └── lecture9 │ └── lecture9-threadpool.cpp ├── Lectures ├── coroutine.pdf ├── lecture1.pdf ├── lecture2.pdf └── lecture3.pdf └── README.md /Code/coroutine/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/coroutine/main.cpp -------------------------------------------------------------------------------- /Code/coroutine/scheduler.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/coroutine/scheduler.hpp -------------------------------------------------------------------------------- /Code/lecture10/lecture10-threadpool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture10/lecture10-threadpool.cpp -------------------------------------------------------------------------------- /Code/lecture11/task-parallelism.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture11/task-parallelism.cpp -------------------------------------------------------------------------------- /Code/lecture11/taskflow-matmul.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture11/taskflow-matmul.cpp -------------------------------------------------------------------------------- /Code/lecture11/taskflow-parallelism.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture11/taskflow-parallelism.cpp -------------------------------------------------------------------------------- /Code/lecture12/relaxed.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture12/relaxed.cpp -------------------------------------------------------------------------------- /Code/lecture12/release_acquire.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture12/release_acquire.cpp -------------------------------------------------------------------------------- /Code/lecture12/release_consume.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture12/release_consume.cpp -------------------------------------------------------------------------------- /Code/lecture14/parallel-for.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture14/parallel-for.cpp -------------------------------------------------------------------------------- /Code/lecture15/parallel-for-guided.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture15/parallel-for-guided.cpp -------------------------------------------------------------------------------- /Code/lecture16/parallel-reduction.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture16/parallel-reduction.cpp -------------------------------------------------------------------------------- /Code/lecture17/parallel-transform.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture17/parallel-transform.cpp -------------------------------------------------------------------------------- /Code/lecture18/cuda.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture18/cuda.cu -------------------------------------------------------------------------------- /Code/lecture19/cuda.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture19/cuda.cu -------------------------------------------------------------------------------- /Code/lecture21/cuda.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture21/cuda.cu -------------------------------------------------------------------------------- /Code/lecture22/find_if.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture22/find_if.cu -------------------------------------------------------------------------------- /Code/lecture23/find_if.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture23/find_if.cu -------------------------------------------------------------------------------- /Code/lecture24/reduce-slow.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture24/reduce-slow.cu -------------------------------------------------------------------------------- /Code/lecture24/reduce.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture24/reduce.cu -------------------------------------------------------------------------------- /Code/lecture3/lecture3.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture3/lecture3.cpp -------------------------------------------------------------------------------- /Code/lecture4/lecture4.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture4/lecture4.cpp -------------------------------------------------------------------------------- /Code/lecture5/lecture5-async.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture5/lecture5-async.cpp -------------------------------------------------------------------------------- /Code/lecture5/lecture5-custom-async.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture5/lecture5-custom-async.cpp -------------------------------------------------------------------------------- /Code/lecture5/lecture5-promise-refactored.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture5/lecture5-promise-refactored.cpp -------------------------------------------------------------------------------- /Code/lecture5/lecture5-promise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture5/lecture5-promise.cpp -------------------------------------------------------------------------------- /Code/lecture6/lecture6-job-queue.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture6/lecture6-job-queue.cpp -------------------------------------------------------------------------------- /Code/lecture7/lecture7-job-queue-cv.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture7/lecture7-job-queue-cv.cpp -------------------------------------------------------------------------------- /Code/lecture8/lecture8-job-queue-cv-bug-free.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture8/lecture8-job-queue-cv-bug-free.cpp -------------------------------------------------------------------------------- /Code/lecture9/lecture9-threadpool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Code/lecture9/lecture9-threadpool.cpp -------------------------------------------------------------------------------- /Lectures/coroutine.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Lectures/coroutine.pdf -------------------------------------------------------------------------------- /Lectures/lecture1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Lectures/lecture1.pdf -------------------------------------------------------------------------------- /Lectures/lecture2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Lectures/lecture2.pdf -------------------------------------------------------------------------------- /Lectures/lecture3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/Lectures/lecture3.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsung-wei-huang/ece6960-heterogeneous-programming/HEAD/README.md --------------------------------------------------------------------------------