Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ambipomyan authored Aug 10, 2022
1 parent f097d6c commit 8196eb2
Showing 1 changed file with 36 additions and 3 deletions.
39 changes: 36 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,39 @@ export LD_LIBRARY_PATH=/opt/llvm/llvm-14.x-install/lib:$LD_LIBRARY_PATH
make run
```

#### TODOS:
- reduce redundant data copy
- optimize matrix multiplication
#### Reproductivity
*Step 0: import data*
`MNIST` dataset needs to be imported to this repo and the file struture looks like:
```
`-- MNIST
|-- train
| |-- 0
| | |-- aaaa.jpg
| | |-- bbbb.jpg
| | | ...
| | `-- zzzz.jpg
...
`-- test
|-- 0
| |-- AAAA.jpg
| |-- BBBB.jpg
| | ...
| `-- ZZZZ.jpg
...
```

*Step 1: create executable*
For OpenMP CPU, OpenMP GPU and cuDNN implemented CNN, we type `make omp-cpu`, `make`, and `make cudnn` to generate `main-omp-cpu`, `main` and `main-cudnn`, accordingly.

*Step 2: run executable*
The usage for executable is: `./main <training images> <testing images> <batches> <epochs> <devices>`.
Among all of the test cases, we use full MNIST dataset and 100 epochs, then, for instance, for experiment of OpenMP GPU version with batch size of 1k, we type:
```
./main 60000 10000 60 100 1
```
For rest of the tests, with batch sizes of 1k, 2k, 4k, 10k, 15k, 30k, 60k, we change the `<batches>` to be 60, 30, 15, 6, 4, 2, and 1.

*Step 3: run nvprof*
```
nvprof ./main 60000 10000 60 100 1
```

0 comments on commit 8196eb2

Please sign in to comment.