-
The Process Presentation: https://youtu.be/8KREdUwu0-8
-
The Final Presentation: https://youtu.be/UnH8W6-WjKw
-
Initial report >> click here
-
retrospective1 report >> click here
-
retrospective2 report >> click here
-
retrospective3 report >> click here
-
retrospective4 report >> click here
-
Final report >> click here
The document software_architecture.pdf
in the Documentation directory contains an overview of the software architecture and the algorithms developed.
A fast CPU and GPU implementation was underway when this project stopped. The Numba package was used. You can find all the changes in the port-to-numba
branch
-
We are required to develop the program which can take uncompressed input data on standard input and produce compressed output data on standard output with no loss.
-
And submit either an .exe file or a Python script to a verification service: MAPTEK TITAN.
-
The verification service will execute our code and score it compared to all the other entries received on processing speed and compression performance.
- More description of this project: Click Here and 💾 Google Drive from tutor
- Agile (Scrum) Project Management: Click Here.
- The two datasets and validator to test and validate our compression tool (the_intro_one & the_fast_one)
- And the other two datasets released on 7th Sep (the_stratal_one_42000000_14x10x12 & the_big_one_987417600_8x8x5)
- Command->>
python runner.py -s -v < path to your python or executable file > < test data file path >
If using a version of Anaconda that matches what is used on Titan, then no extra steps are needed. If you are not using that installation of Python, then keep reading.
Python Virtual Environments are used to keep all the dependencies of this project self contained and not mixed up with the system python libraries.
First make sure you are in the Code
directory.
Then set up the Python Virtual environment:
python3 -m venv .venv
Then activate the environment:
For Linux/Mac:
$ source .venv/bin/activate
For Windows:
$ .venv\Scripts\activate
The first time you start the virtual environment, install all the development dependencies
$ pip install -r requirements.txt
When you are finished developing, deactivate the environment
$ deactivate
Static analysis tools should be run on the code before committing and especially
before merging. First the flake8
command should be used to check coding style.
$ flake8 directory/with/code
Once all those issues are resolved, run the type checker pytype
$ pytype directory/with/code
This will infer and check that the types of variables are passed around correctly. If possible try to eliminate these errors. However if the code runs correctly, you don't need to make large changes to accomodate this tool.
Name | Student ID | School E-mail | Snapshot drafting |
---|---|---|---|
Po-Yi Lee | a1806297 | [email protected] | 1.1 & 5.2 |
Hechen Wang | a1786785 | [email protected] | 1.2 |
Yang Lu | a1782685 | [email protected] | 2.1 |
Yuanpeng Liu | a1784375 | [email protected] | 2.2 |
Kaiyang Xue | a1784184 | [email protected] | 3.1 |
Xiaoman Li | a1804817 | [email protected] | 3.2 |
Liuyang Yun | a1811518 | [email protected] | 4.1 |
Jiaping Qi | a1797683 | [email protected] | 4.2 |
Karl Asenstorfer | a1162576 | [email protected] | 5.1 |
Sprint | Name | Student ID |
---|---|---|
1 | Po-Yi Lee | a1806297 |
2 | Yuanpeng Liu | a1784375 |
3 | Karl Asenstorfer | a1162576 |
4 | Xiaoman Li | a1804817 |
5 | Kaiyang Xue | a1784184 |
WEEK | Snapshot | Drafting |
---|---|---|
Week 2 | Snapshot0 & Initial report | Team |
Week 3 | Snapshot1.1 | Po-Yi Lee |
Week 4 | Snapshot1.2 | Hechen Wang |
Week 5 | Snapshot2.1 | Yang Lu |
Week 6 | Snapshot2.2 | Yuanpeng Liu |
Week 7 | Snapshot3.1 | Kaiyang Xue |
Week 8 | Snapshot3.2 | Xiaoman Li |
Week 9 | Snapshot4.1 | Liuyang Yun |
Week 10 | Snapshot4.2 | Jiaping Qi |
Week 11 | Snapshot5.1 | Karl Asenstorfer |
Week 12 | Snapshot5.2 | Po-Yi Lee |
✨Slack Channel: blocks7