chungmin-yu

@chungmin-yu

Joined on Dec 26, 2020

  • <font color="#0066CC"> Please explain what is arm-linux-gnueabihf-gcc? Why don’t we just compile with gcc?</font>eabi: 嵌入式ABI,嵌入式應用二進制街口指定了文件格式、數據類型、暫存器使用、堆積組織優化和在一個嵌入式軟件中的參數的標準約定。 hf: armhf架構,用fpu計算,傳參數也用fpu中的浮點暫存器傳,省去了轉換,性能最好,但是中斷負荷高 因為 embedded 和 host 的計算機架構不同,所使用的library也不同,所以不能直接用 gcc <font color="#0066CC"> Can executable hello_world run on the host computer? Why or Why not? </font> 不行 Lab2 <font color="#0066CC"> What are the cmake and make for? What is the relationship between them? </font>cmake & make 都是編譯工具
     Like  Bookmark
  • LABs RM compTime 紀錄執行多久OSTimeTick 讓 compTime -- 需要 OSTimeDly 的時間: period - (end - start) OS_Sched() is called when a task is voluntarily giving up its possession of the CPU Complete
     Like 1 Bookmark
  • install ssh-server sudo apt install openssh-server sudo systemctl enable ssh # auto enable ssh when reboot install teamviewer https://www.fosslinux.com/70083/how-to-install-teamviewer-in-ubuntu-22-04-lts.htm wget https://download.teamviewer.com/download/linux/signature/TeamViewer2017.asc sudo apt-key add TeamViewer2017.asc sudo sh -c 'echo "deb http://linux.teamviewer.com/deb stable main" >> /etc/apt/sources.list.d/teamviewer.list' sudo apt update
     Like  Bookmark
  • simple install OpenCV (不能指定版本-->不推薦) sudo apt-get install libopencv-dev install dependency package sudo apt-get install gcc g++ cmake pkg-config build-essential sudo apt-get install libgtk2.0-dev libavcodec-dev libavformat-dev libtiff5-dev libswscale-dev libjasper-dev download the opencv package (use 3.4 version) cd ~
     Like  Bookmark
  • https://koding.work/how-to-install-cuda-and-cudnn-to-ubuntu-20-04/ 若已裝錯版本,請依照以下步驟執行 1.重新安裝driver $ sudo apt remove '^nvidia' $ sudo apt autoremove $ sudo reboot $ sudo apt install nvidia-driver-xxx 修改~/.bashrc
     Like  Bookmark
  • https://github.com/REMitchell/python-scraping Python虛擬環境 $ virtualenv scrapingEnv $ cd scrapingEnv $ source bin/activate WEB CRAWLER from urllib.request import urlopen from urllib.error import HTTPError from bs4 import BeautifulSoup
     Like  Bookmark
  • C++ Cpp Road Python Python Python file Python scraper SSH SSH
     Like  Bookmark
  • Field Value Name 余忠旻 ID 0716221 How much time did you spend on this project
     Like  Bookmark
  • Field Value Name 余忠旻 ID 0716221 How much time did you spend on this project
     Like  Bookmark
  • Field Value Name 余忠旻 ID 0716221 How much time did you spend on this project
     Like  Bookmark
  • Field Value Name 余忠旻 ID 0716221 How much time did you spend on this project
     Like  Bookmark
  • Field Value Name 余忠旻 ID 0716221 How much time did you spend on this project
     Like  Bookmark
  • 0716221 余忠旻 Q1: Explain your implementation. How do you optimize the performance of convolution? :::success 在 hostFE.c 中, 我設定 local work size = 8 x 8, global work size = imageWidth x imageHeight, 這樣可以確保圖片的每一個 pixel 都有 work item 對應做平行處理, 而在 kernel.cl 中, 我利用 get_globla_id(0) / get_global_id(1) 取得每個 work item 所需處理 pixel 是對應圖片中的哪一個 pixel,
     Like  Bookmark
  • 0716221 余忠旻 Q1-1: Does the vector utilization increase, decrease or stay the same as VECTOR_WIDTH changes? Why? CLAMPED EXPONENT (required) Results matched with answer! ****************** Printing Vector Unit Statistics ******************* Vector Width: 2 Total Vector Instructions: 162728 Vector Utilization: 83.0% Utilized Vector Lanes: 270116
     Like  Bookmark
  • 0716221 余忠旻 Q1: What are the pros and cons of the three methods? Give an assumption about their performances. Method 1: pros: 每個 thread 一次只需要處理一個 pixel,能善用 GPU 平行處理。 沒有使用 paged-locked memory,因此對 system performance不會影響太大。
     Like  Bookmark
  • 0716221 余忠旻 Q1 1. How do you control the number of MPI processes on each node? mpirun -np 可以決定總共將有幾個 processes。 在 Q1: mpi_hello 執行時, mpirun -np 8 --hostfile hosts mpi_hello 就是使用8個processes 平行執行 mpi_hello :::info 加上 -npernode 的 flag, 可以控制每個 node 上會有幾個 processes 或者在 hostfile 中,hostname後面加上 slots = n,
     Like  Bookmark
  • 0716221 余忠旻 In your write-up, produce a graph of speedup compared to the reference sequential implementation as a function of the number of threads used FOR VIEW 1. (You may also wish to produce a graph for VIEW 2 to help you come up with a good answer.) 我將 image 由上到下均分給各個 thread 計算執行,如下實作: void workerThreadStart(WorkerArgs *const args) { int workload = args->height / args->numThreads; int start = args->threadId * workload;
     Like  Bookmark