main
test-branch
| Line | |
|---|
| 1 | Here is some notes for comparing two diffusion1d programs(one in parallel and one in sequential) from FEVS.
|
|---|
| 2 |
|
|---|
| 3 | Bugs of original MPI-C program( diffusion1d_par.c ):
|
|---|
| 4 |
|
|---|
| 5 | 1. Never try to free "u", which stores the final result, when quit by calling quit().
|
|---|
| 6 |
|
|---|
| 7 | 2. Never try to close the file, which provides input data, when quit by calling quit().
|
|---|
| 8 |
|
|---|
| 9 | 3. Malloc space to pointer "buf" inside the function "init()" twice without free the space
|
|---|
| 10 | given by first time malloc.
|
|---|
| 11 |
|
|---|
| 12 | 4. Missing "fclose()" in function "init()".
|
|---|
| 13 |
|
|---|
| 14 | 5. Missing MPI_Finalize() when root process quits.
|
|---|
| 15 |
|
|---|
| 16 | 6. When root process call "quit()" before broadcasting parameters to
|
|---|
| 17 | other process, other process will keep waiting for broadcasting forever.
|
|---|
| 18 |
|
|---|
| 19 | Defects of CIVL:
|
|---|
| 20 |
|
|---|
| 21 | 1. CIVL cannot automatically handle system file closing work when the program quit before
|
|---|
| 22 | reaching the end.
|
|---|
| 23 |
|
|---|
| 24 | 2. When comparing 2 programs, CIVL cannot recognize the file both of 2 programs are reading
|
|---|
| 25 | is same. Thus, CIVL will verify one path that one program quit because of failing on
|
|---|
| 26 | reading file but the other doesn't fail on it.
|
|---|
| 27 |
|
|---|
| 28 | 3. "sprintf()" still not supported
|
|---|
| 29 |
|
|---|
| 30 | 4. CIVL pragma cannot support "if" statement.
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.