---
# System prepended metadata

title: 學長分享
tags: [比賽準備]

---

# 學長分享

[Roadmap](https://hackmd.io/@xnum/BJv4CAKa2)

## 熟悉 Linux

- 灌一台 Linux
    - 以 Linux 為日常使用的環境
- 學習 build from source
    - 不要依賴 package manager
    - 自己找 dependency 和 lib
    - 設定 compiler, makefile, cmake
- 更進階
    - 高效能技術或低延遲技術克服網路延遲
    - 調整 kernel 參數
        - 隔離技術 (CPU binding)
        - 固定在高時脈
        - non-preemptive (避免 context switch 造成的 overhead)
- 重點
    - 平常就要多用 Linux
    - 累積經驗、熟悉怎麼調整、每個情況對應的原因和處理方式
    - 避免在現場才找答案
    - 熟悉 Linux 操作，裝 driver, build from source ...

### 平常的練習

- 弄一台 Linux
- 找一些 open-source 的軟體
    - 不限比賽題目的軟體
    - 任何種類軟體都是可以練習的材料
        - E.g., Apache
- 嘗試編譯和安裝

## 參賽經驗

- 嘗試調整參數
    - 每個參數的意義
    - 參數調整的方向帶來的影響
- 計畫好調整、測試的方式和策略
- 多練習寫程式
    - OMP, MPI
    - 多用 parallel lib
        - E.g., Vectorization instructions

### 技術以外

- 簡報能力
    - 製作 slides
    - 表達能力
    - 說故事
- 熱情與自信
- 多留圖，不要只有字
- Information board 的內容
