# 2017q1 Homework5(matrix)
contributed by <`claaaaassic`>
>>請列出硬體相關資訊
>>[name=課程助教][color=red]
>>
>>好的[name=claaaaassic]
## 硬體資訊
```shell
Architecture: x86_64
CPU 作業模式: 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
每核心執行緒數:2
每通訊端核心數:2
Socket(s): 1
NUMA 節點: 1
供應商識別號: GenuineIntel
CPU 家族: 6
型號: 42
Model name: Intel(R) Core(TM) i5-2410M CPU @ 2.30GHz
製程: 7
CPU MHz: 848.040
CPU max MHz: 2900.0000
CPU min MHz: 800.0000
BogoMIPS: 4589.61
虛擬: VT-x
L1d 快取: 32K
L1i 快取: 32K
L2 快取: 256K
L3 快取: 3072K
```
## 整合 [Matrix Multiplication using SIMD](https://hackmd.io/s/Hk-llHEyx)
把 submatrix sse sseprefetch 加進來,但是在驗證時錯了!
```
Execute tests/test-matrix...
test: Naive
equal
test: SubMatrix
equal
test: SSE
not equal
test: SSE Prefetch
not equal
```
一直找不出原因,參考別人的共筆也無法發現自己的問題,只好先把其他的放著只新增 submatrix 進來
```
Execute tests/test-matrix...
test naive :
equal
test sub matrix :
equal
OK!
```
### 時間刻度用 millisecond
參考[同學的共筆](https://hackmd.io/s/rylQNQQax#stopwatch-擴充),修改成
```shell
if (!strcmp(unit, "s"))
S->unit = 1000000.0;
else if (!strcmp(unit, "ms"))
S->unit = 1000.0;
else if (!strcmp(unit, "us"))
S->unit = 1.0;
else
assert(NULL && "create(char *unit) unit must be s / ms / us");
```
### 設計效能分析工具
## 設計可支援不只 4*4 的矩陣