meton-robean

Results 190 comments of meton-robean

[XLOOP: Architectural Specialization for Inter-Iteration Loop Dependence Patterns(MICRO2014)](https://github.com/meton-robean/PaperNotes/issues/18) ![Selection_120](https://user-images.githubusercontent.com/17881739/69436091-b3637680-0d7b-11ea-8e01-aab5e05dc421.png) ![Selection_122](https://user-images.githubusercontent.com/17881739/69436074-aba3d200-0d7b-11ea-8e8f-c26d97098ed1.png)

### Pydgin **在xloop的论文中用到了,可以参见xloop的会议ppt** ![Selection_123](https://user-images.githubusercontent.com/17881739/69479451-30542600-0e38-11ea-9c4f-f43292bdafa1.png)

### 单层循环,全并行 ``` for(int i =0; i

### 单层循环,树并行 ``` for(int i =0; i< 4096; i++){ sum += a[i]; } ``` ``` 800017b2: 4681 li a3,0 800017b4: 87a2 mv a5,s0 800017b6: 6398 ld a4,0(a5) 800017b8: 07a1 addi...

### 两层循环 全并行 ``` for(int round=0; round

### 一层循环,循环内有if/else 语句 ``` for(int i =0; i100 跳转去加法操作 80001902: 02e787b3 mul a5,a5,a4 //乘法 80001906: 00f9b023 sd a5,0(s3) 8000190a: b7d5 j 800018ee ```

### 一个复杂点的例子: sha3加密算法核心函数 ``` static void keccakf(uint64_t st[25], int rounds) { int i, j, round_num; uint64_t t, bc[5]; //printf("Starting\n"); //printState(st); for (round_num = 0; round_num < rounds; round_num++) { //...

### 单层循环内有多个连续计算 ``` for (int i =0 ; i < MAXELEMS ;i++){ c[i] = a[i]*b[i]+a[i]*(b[i] - a[i])+b[i]*(a[i]+b[i])-a[i]*b[i]*b[i]+b[i]; } ``` ``` 80001798: 00083703 ld a4,0(a6) 8000179c: 6190 ld a2,0(a1) 8000179e: 08a1...

### 一层循环,向量找最大值 ``` int max = 0; for(int i =0; i

### 一层循环 a[i] = a[i-3] +2 ``` for(int i =3; i< MAXELEMS; i++){ a[i] = a[i-3] + 2; } ``` ``` 8000198c: 6782 ld a5,0(sp) 8000198e: 66a1 lui a3,0x8 80001990:...