Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ocervell/benchtools
Benchmarking software for CPU, GPU, Memory, Processor and Network evaluations [C, Python, Shell]
https://github.com/ocervell/benchtools
Last synced: about 1 month ago
JSON representation
Benchmarking software for CPU, GPU, Memory, Processor and Network evaluations [C, Python, Shell]
- Host: GitHub
- URL: https://github.com/ocervell/benchtools
- Owner: ocervell
- Created: 2015-06-09T19:09:00.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-06-09T19:37:38.000Z (over 9 years ago)
- Last Synced: 2023-03-02T08:41:20.442Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 156 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BenchTools
## Benchmarking software for CPU, GPU, Memory and Network evaluationsRun a full benchmark
--------------------
The complete benchmark has been automated using a shell script, *auto.sh*, to allow simplicity of use.**bash auto.sh**
Reports will be generated in the current folder for each test, under the form report_TEST_TIME
*TEST* is *CPU*, *MEMORY*, *DISK* or *NETWORK*. *GPU* is not included in this automated test tool, you'll have to run it manually.
*TIME* is the current time to the second
The shell script will automatically compile the files. You don't have to do it manually.
It will then automatically run all the experiments.*IMPORTANT* : Near the end of the benchmark, the network benchmark **needs your input**.
You need to :
* *Open* a new terminal
* *Go* to the *src* directory
* *Enter* the command line **python client.py tcp**
* *Choose* between the three file sizes proposed (1B, 1kB, 64kB).
* After it's done, *hit* CTRL + C (Windows/Linux) or CMD + C (Mac) to exit the network and go to the next test, which is UDP.
* Repeat the previous operation for UDP (with for 3. the command line **python client.py udp** this time) and the program should finish successfully after that.Separate compilation and run instruction
----------------------------------------
CPU
---
* **make -f make_cpu**
* **./cpu nb_threads**
* *nb_threads* is the number of threads you want.GPU
---
* *Make sure* you have a GPU and all the libraries needed
* **bash gpu_script.sh**
* **./gpu blocksize nb_threads**
* *nb_threads*: Specify any number of threads you want to be run.
* *blocksize*: Common blocksize is 4kB (default), but you can put any value you want.MEMORY
------
* **gcc -pthread memory.c -o memory**
* **./memory mode blocksize nb_threads**
* mode : Specify the mode you want among : s, r
* s = sequential
* r = random
* blocksize : Specify any blocksize you want (in bytes).
* nb_threads : Specify any number of threads you want to be runDISK
----
* **gcc -pthread disk.c -o disk**
* **./disk mode blocksize nb_threads**
* mode : Specify the mode you want among *ws*, *wr*, *rs*, *rr*.
* *w* = write
* *r* = read
* *s* = sequential
* *r* = random
* *blocksize* : Specify any blocksize you want (in bytes). 1MB = 1000000B
* *nb_threads*: Specify any number of threads you want to be runNETWORK
-------
* TCP
* **python server.py tcp**
* *Open* a new terminal
* *Go* to the *src* directory
* **python client.py tcp**
* UDP
* python server.py udp
* Open a new terminal
* Go to the src directory
* python client.py udpAdditional information
----------------------
The CPU module will run 3 tests in a row whereas the others only generate one test (so you would
have to runthem more than once if you want more test to be done).