Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added C++ and CUDA bindings to tile_matmul for 1.1.2 Release #66

Merged
merged 89 commits into from
Jul 8, 2021

Conversation

coreylammie
Copy link
Owner

Using an NVIDIA GeForce GTX 1080, a tile shape of (25, 25), and two tensors of size (500, 500), the runtime of tile_matmul without quantization support is reduced by 2.45x and 5.48x, for CPU-bound and GPU-bound operation, respectively. With an ADC resolution of 4 bits and an overflow rate of 0.0, the runtime of tile_matmul with quantization support is reduced by 2.30x and 105.27x, for CPU-bound and GPU-bound operation, respectively.

Implementation Runtime Without Quantization Support (s) Runtime With Quantization Support (s)
Pure Python (Previous) 6.917784 27.099764
C++ (CPU-bound) 2.822265 11.736974
CUDA (GPU-bound) 1.262861 0.2574267

coreylammie and others added 30 commits June 14, 2021 17:10
Co-authored-by: coreylammie <coreylammie@users.noreply.github.com>
Co-authored-by: coreylammie <coreylammie@users.noreply.github.com>
Co-authored-by: coreylammie <coreylammie@users.noreply.github.com>
Co-authored-by: coreylammie <coreylammie@users.noreply.github.com>
Co-authored-by: coreylammie <coreylammie@users.noreply.github.com>
github-actions bot and others added 25 commits July 8, 2021 09:08
Co-authored-by: coreylammie <coreylammie@users.noreply.github.com>
Co-authored-by: coreylammie <coreylammie@users.noreply.github.com>
Co-authored-by: coreylammie <coreylammie@users.noreply.github.com>
Co-authored-by: coreylammie <coreylammie@users.noreply.github.com>
Co-authored-by: coreylammie <coreylammie@users.noreply.github.com>
Co-authored-by: coreylammie <coreylammie@users.noreply.github.com>
@codecov
Copy link

codecov bot commented Jul 8, 2021

Codecov Report

Merging #66 (9bd3245) into master (4e13843) will decrease coverage by 3.53%.
The diff coverage is 29.32%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #66      +/-   ##
==========================================
- Coverage   90.88%   87.34%   -3.54%     
==========================================
  Files          52       53       +1     
  Lines        1963     2023      +60     
==========================================
- Hits         1784     1767      -17     
- Misses        179      256      +77     
Flag Coverage Δ
unittests 87.34% <29.32%> (-3.54%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
memtorch/mn/Conv1d.py 98.76% <ø> (ø)
memtorch/mn/Conv2d.py 97.64% <ø> (ø)
memtorch/mn/Conv3d.py 97.64% <ø> (ø)
memtorch/submodules/__init__.py 100.00% <ø> (ø)
profile_tile_matmul.py 0.00% <0.00%> (ø)
setup.py 0.00% <0.00%> (ø)
tests/test_cpp_extensions.py 100.00% <ø> (+4.54%) ⬆️
memtorch/bh/crossbar/Tile.py 65.00% <25.00%> (-21.96%) ⬇️
memtorch/map/Module.py 96.66% <50.00%> (-3.34%) ⬇️
memtorch/bh/Quantize.py 91.30% <90.47%> (-0.70%) ⬇️
... and 8 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4e13843...9bd3245. Read the comment docs.

@coreylammie coreylammie merged commit 055e036 into master Jul 8, 2021
@coreylammie coreylammie deleted the CUDA branch July 8, 2021 00:05
@coreylammie coreylammie linked an issue Jul 8, 2021 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

The patching procedure is too slow.
1 participant