Skip to content
This repository has been archived by the owner on Aug 24, 2018. It is now read-only.

Commit

Permalink
ReadMe update
Browse files Browse the repository at this point in the history
  • Loading branch information
luncliff committed Apr 26, 2017
1 parent f270a0b commit d503e57
Showing 1 changed file with 39 additions and 40 deletions.
79 changes: 39 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,65 +16,64 @@ Applying concurrent structure and parallel processing are a common issue for the

From the result, the speed-up of Go was higher than the number of cores, and that of TBB was close to it. TBB performed better in general, but for larger scale, Go was partially faster than the other.

## Directory

### 1. `bin/`
For missing Binary files, you can download them from its [release page](https://github.com/01org/tbb/releases).

To build for Windows environment, `tbb.lib`, `tbb_debug.lib` is required.
To execute `release` build, `tbb.dll` is necessary. And of course, `debug` build needs `tbb_debug.dll`.

### 2. `lib/`
External libraries
- [TBB2017](https://github.com/01org/tbb)
- [CmdParser](https://github.com/FlorianRappl/CmdParser)

### 3. `src/`
Go source files

#### `matrix/`
Minimal Matrix implementation. Referenced [Carl Johnell's research](http://www.diva-portal.org/smash/get/diva2:824741/FULLTEXT03).

#### `obst/`
See [Wikipedia](https://en.wikipedia.org/wiki/Optimal_binary_search_tree) or [this link](http://software.ucv.ro/~mburicea/lab5ASD.pdf)

#### `previous/`
Previous implementation based on ["Comparing parallel performance of Go and C++ TBB on a direct acyclic task graph using a dynamic programming problem"](http://dl.acm.org/citation.cfm?id=2184575&dl=ACM&coll=DL&CFID=748048953&CFTOKEN=40164739).

#### `research/`
Re-implemented code for this research

#### `utils/`
Utility classes

#### `watch/`
Stop watch class over Go Time package

### 4. `build/`
Reserved directory for build result.


## How to Try
The followings are command-line examples. After build, use `-h` for description.

### Go
#### Build
Set `GOPATH` and build with `go build` command.

#### Execution
```
./Go.exe -h
./Go.exe -n=2048 -np=4 -vp=128 -parallel=true
```

### C++ TBB

### Build
#### Build
Open `TBB.vcxproj` with Visual Studio 2015 or later, and build with `x64` configuration.
If several TBB files(`.lib`) are missing, download [TBB release](https://github.com/01org/tbb/releases) binaries.

#### Execution
For execution, DLL binary `tbb.dll` is necessary. You can use it in `bin/` folder, but I recommend to download it.
See the [official documentation](https://www.threadingbuildingblocks.org/documentation) first.
```
./TBB.exe -h
./TBB.exe -n 2048 -np 4 -vp 128 -p true
```

## Directory

### `lib/`
External C++ libraries
- [TBB2017](https://github.com/01org/tbb)
- [CmdParser](https://github.com/FlorianRappl/CmdParser)

### `previous/`
Previous implementation based on ["Comparing parallel performance of Go and C++ TBB on a direct acyclic task graph using a dynamic programming problem"](http://dl.acm.org/citation.cfm?id=2184575&dl=ACM&coll=DL&CFID=748048953&CFTOKEN=40164739).

### `research/`
Re-implemented code for this research


### `Go/`
#### - `matrix/`
Minimal Matrix implementation. Referenced [Carl Johnell's research](http://www.diva-portal.org/smash/get/diva2:824741/FULLTEXT03).

#### - `obst/`
See [Wikipedia](https://en.wikipedia.org/wiki/Optimal_binary_search_tree) or [this link](http://software.ucv.ro/~mburicea/lab5ASD.pdf)

#### - `watch/`
Stop watch class over Go Time package

### `TBB/`
For missing Binary files, you can download them from its [release page](https://github.com/01org/tbb/releases).

To build for Windows environment, `tbb.lib`, `tbb_debug.lib` is required.
To execute `release` build, `tbb.dll` is necessary. And of course, `debug` build needs `tbb_debug.dll`.

#### - `utils/`
Utility classes

## License
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.

0 comments on commit d503e57

Please sign in to comment.