Assignment

Assignment

  • 2/27, task 1.
  • 3/06, task 2.
  • 3/13, task 3.
  • 3/20, task 4.
  • 3/27, task 5.
  • 4/10, Pthread Workshop
  • 4/17, Pthread Workshop (Mind the cache)
  • 4/24, OpenMP basic Workshop
  • 5/08, OpenMP Intermediate Workshop
  • 5/15, OpenMP Advanced Workshop
    • Solve problem 10081. Fast Game of Life and 10203. Fast Matrix Chain Multiplication Basic.
    • In Fast Game of Life, the overhead of thread creation/destroying may be huge. Please be concerned about it.
    • In Fast Matrix Chain Multiplication Basic, the original DP algorithm may occur cache miss frequently. 1. Please simply modify the algorithm to improve the cache performance. 2. Also be concerned about thread creation/destroying.
  • 5/22, OpenCL Basic Workshop
  • 5/29, OpenCL Intermediate Workshop
  • 6/05, OpenCL Advanced Workshop
    • 20019. Cooperative Dot Product
      • Using multiple devices to speedup this computing with at least two GPU devices.
      • You should report the following two problems:
        • Which kind of parallelism do you use, task or data parallelism?
        • How do you decide the amount of workload on different devices?
      • Small Talk: OpenCL Multiple Devices - Morris
  • 6/12, CUDA Workshop
  • 6/19, Hadoop Workshop
    • Workshop Tutorial: Hadoop Workshop Tutorial - TA
    • Word Count
      • Download Word Count example, compile theses java source code, and then submit your first Hadoop job on Shinnosuke server.
      • [1 pt] 統計目前放在 HDFS 上的資料,路徑位置為 /user/hadoop/wordcnt-input/*
      • [1 pt] 生一組自己的輸入測資,手動上傳到 HDFS 後,運行一次 Word Count 得到預期的正確結果
    • Average
      • Write application with MapReduce, and observe the performance of combiner version.
      • [1 pt] Task I: 完成附檔所缺少的 Mapper/Reducer 函數,並成功運行 /user/hadoop/avg-input/avg-input.large
      • [2 pt] Task II: 完成附檔所缺少的 Combiner 函數,運行後回報效能改善情況

Notes

  • PP2018 Quiz & Workshop record sheet on Google sheet
  • You can practice on NTU Judge System before course workshop.
  • You CAN discuss with you classmates on how to do these tasks, however, you need to persuade a TA, on your own, that you know how to do this task, and you need to write all the code by yourself. more