2012年10月15日 星期一

推薦學習 ARM 的書

最近在看 ARM 相關文件, 無意間發現這本書 "ARM System Developer's Guide"

http://www.tenlong.com.tw/items/1558608745?item_id=22049

覺得他寫得好, 對於基本的 ARM 架構有所介紹 ,


最讓人喜歡的是他深入淺出的講解了一些在 ARM 上面運行軟體及系統的流程


由於我們實驗室做系統所使用的 processor 都大部分為 ARM , 看這本書可以讓功力增強不少

以後如果要繼續耕耘系統這塊 , 這本書是很好的新生教學選擇


可以搭配 ARM architecture reference manual,

或者任一版 cpu 的 datashit datasheet 食用, 效果更佳 ~

個人以為與其讀白算盤, 不如讀更為實用的 ARM 架構, 對於學弟的幫助更大 !

2012年9月19日 星期三

[course] Music Synthesis

作業001
給定一個單音的音樂檔案,
請用AMDF(Average Magnitude Difference Function)的方法找出其可能的週期。

作業002
給定一個單音的音樂檔案,
請用AUTOCORRELATION的方法找出其可能的週期。

作業003
給定一個單音的音樂檔案,請先將其normalize後,找出其可能的週期。
並找出其可能的 loop start, loop end,
然後取出loop start到loop end之間的音檔另存為wav檔案。

作業004
將古琴wavetable重新取樣成110Hz

作業005
用MIDI造一個110Hz的鋼琴音,並實作MIDI對ADSR的5個functions。
1.音高轉成MIDI note 53
2.音長為10.5秒
3.音量為1/2
4.速度為1/64
5.踏板為2

2012/09/19 - 下載
2012/09/26 - 下載

2012年4月27日 星期五

Building the GPU Cluster


我們有幾台 GPU Server,老師有想要將他建立成一個 GPU Cluster 的 prototype, 在Infrastructure,我們有了機器,那問題就是要如何管理這些資源(CPU, Mem, Network, GPU ...)。

我的想法是,有三個部份要做,分別為基礎建設的管理、程式介面(Platform)、用戶介面。


1. 基礎建設的管理

用以往實驗室常用的方式,就是將程式寫成 components 然後再不同台機器上運作, 接著建個 data flow 交換資料。以我的經驗,這樣的方式在多個使用者時不免會有一人當機,整車人都不能用機器。虛擬化既然這麼紅,那我們是不是用虛擬化的管理方式呢? 現有的 Hypervisor 有 VMWare, xen, kvm 等。將每個 component 放在一個虛擬機器裡頭,接著也一樣用 data flow 做溝通,萬一某台虛擬機器死翹翹,那也不會影響機器內的其他用戶,是一個可行的方法。再者跨多台機器的 Management Tool 也是很多,像是 Nimbus, OpenNebula, Eucalyptus,他們可以用來管理這些 Hypervior。如此一來,我們有了一個中控中心,可以發佈虛擬機器和關閉虛擬機器,有人要執行他的 component 們,我們就給他幾台虛擬機吧。


2. 程式介面

既然 DataFlow 是這樣一個好的傳統,那我們也許可以繼續沿用,每個用戶將他的程式寫成一個 component,然後我們將他放在虛擬機裡。他要 CPU/Mem/Network 我們就給他,他要 GPU,我們也給他。這裡比較難的地方就是要怎麼將 GPU 給虛擬化,有人有辦法請給我一點方向。好加在的是,CUDA 4.0 允許多工,多個人再一台機器上享用 GPU 也不會有太大的問題,剩下的就是 GPU 虛擬化的問題。


3. 用戶介面

前端的用戶介面,負責與使用者溝通,讓他們上傳程式,觀看結果。以往的方法都是寫個 Shell,像是小大象 Hadoop 的 Shell,但我想是不是有其他方法呢?這裡頭還需要 Build System,讓上傳的 Component 可以順利編譯。所以用戶介面要有幾個功能,包括上傳資料程式、建置系統、瀏覽結果的介面。




特別打出來,希望各位看倌、高人能給一些建議。

以後這裡就變一個討論串了,歡迎不吝嗇提出意見。

2012年4月18日 星期三

[課程] (100下)訊號與系統

2012/07/11(三) 成績出爐!!


*總成績請點我


* 補考日期訂於2012/06/25(一)
   教室:資訊系4282電腦教室
   需要補考的同學請於當日下午2:10準時出席

   需補考同學包括上次補考請假者對上次補考不滿意者

*期末考日期訂於2012/06/27(三)
  教室:資訊系4282電腦教室
  ******考試範圍:ch4, ch5 和 Lab 7 (2012/06/27更新)
  請大家一樣要在下午2:10準時出席

  !!!!!!!!!!! 此次期末考無論好壞與否,皆不會再行補考。請大家好好準備 : )  !!!!!!!!!!!!!




*加課日期訂於期末考當晚2012/06/27(三) 7:10~
  教室:資訊系4203
  當晚點名加分,且另有作業

=========2012/03/17=========
課程老師: 蘇文鈺
Email: alvinsu@mail.ncku.edu.tw

課程助教: 林益如
Email: lyjca.ncku@gmail.com

以後對課程有任何問題都可以在這篇討論



*課程投影片:

 Ch1 Introduction

 Ch2 CONTINUOUS-TIME SIGNALS AND SYSTEMS

 Ch3 CONTINUOUS-TIME LINEAR TIME-INVARIANT SYSTEMS (2012/04/25更新)

 Ch4 FOURIER SERIES (2012/05/02更新)

 Ch5 THE FOURIER TRANSFORM  (2012/05/30更新)

*Matlab基本界面介紹
 內容只提到我們比較常用到的部份
 另外,請下載後用ppt開,因為可以用點選的 : )


*隨堂程式:

 Lab1 方波  檢討

 Lab2 用方波合成wav檔

 Lab3 音檔處理 (2012/03/30更新)

 Lab4 ADSR (2012/04/11更新)

 Lab5 Convolution (2012/04/18更新)

 Lab6 random取點 (2012/04/25更新)
         測試音檔   (link 1)
         測試音檔   (link 2)

 Lab7 用傅立葉級數模擬square wave (2012/05/23更新)
          Code (2012/06/27更新)

 Lab8 用傅立葉級數模擬人聲發音 (2012/05/30更新)
          音檔  (2012/05/30更新)
          切好的音檔 3段 (2012/05/30更新)
          Code (2012/06/27更新)

Lab9 合成人聲發音 (2012/06/13更新)

Lab10 用bodec畫出系統的頻率響應 (2012/06/28更新)


* 期中考上機 (2012/05/09更新)
   檢討  Code (2012/05/30更新)

* 第二次期中考上機 (2012/06/06更新)
   Code (2012/06/13更新)
   成績 (2012/06/13更新) 有問題請找助教 :)


* 期中考補考 (2012/06/25更新)
   成績


* 期末考上機 (2012/06/27更新)

=========2012/03/18=========(2012/05/23更新)

*隨堂程式點名 會每週更新。有任何問題請告知助教。

=========2012/03/26=========
本週隨堂程式需要請大家先準備

用來反轉的音檔(簡單一點的,不要太複雜),和耳機(或者是小的喇叭)

:D 謝謝

=========2012/03/30=========
這是本週隨堂程式有趣的音檔 :D

分享給大家~

Lab3音檔

2012年3月9日 星期五

[課程]2012高速運算應用與多核心系統

=====2012 4/24====
MPI

0424 SPCP & MPI 課程資料

當天留下的lab是使用MPI寫矩陣相乘

交件時附上程式碼即可

在4/30前交

寄到課程助教信箱

對課程投影片有疑問可寄信至boy780828@hotmail.com

=====2012 4/17====
期末專題 project proposal

Monte Carlo Simulation of Photon Migration - 郭雅涵(蘇文鈺教授)

build a multi-core platform with Hadoop - 匡建慈(蘇文鈺教授)

Accelerating Viterbi Algorithm - 李佩靜(蘇文鈺教授)

千人交響樂 - 林益如(蘇文鈺教授)

SystemC-AMS Simulation on CUDA - 林敬倫(蘇文鈺教授)

Stereo Matching Based on Hierarchical Bilateral Disparity Structure with Unreliable Foreground Boundary Handling - 王邦威(詹寶珠教授)

加速 Disparity Estimation Using HBDS-based Graph Cut - 陳正旻(詹寶珠教授)


=====2012 3/9=====
有關課程討論部分會在這個討論串中
MIT的投影片下載
cuda課程資料下載
請報告同學把投影片寄給我由我統一公布在討論串中
課程助教 林敬倫 rurume1010@gmail.com
蘇文鈺老師 alvinsu@mail.ncku.edu.tw
=====2012 9/10====
期末專題 final project

Monte Carlo Simulation of Photon Migration - 郭雅涵(蘇文鈺教授)

build a multi-core platform with Hadoop - 匡建慈(蘇文鈺教授)

Accelerating Viterbi Algorithm - 李佩靜(蘇文鈺教授)

千人交響樂 - 林益如(蘇文鈺教授)

SystemC-AMS Simulation on CUDA - 林敬倫(蘇文鈺教授)

Stereo Matching Based on Hierarchical Bilateral Disparity Structure with Unreliable Foreground Boundary Handling - 王邦威(詹寶珠教授)

加速 Disparity Estimation Using HBDS-based Graph Cut - 陳正旻(詹寶珠教授)


加速 以CUDA實現超音波影像 即時運動追蹤技術 - 何嘉哲(王士豪教授)