Skip to content

Comments

Forward gpu#47

Open
zkSNARK wants to merge 168 commits intomasterfrom
forward-gpu
Open

Forward gpu#47
zkSNARK wants to merge 168 commits intomasterfrom
forward-gpu

Conversation

@zkSNARK
Copy link
Collaborator

@zkSNARK zkSNARK commented Apr 29, 2019

PR for both forward-device and backward-device setup.

This PR incorporates a number of significant refactors
which enable CUDA functionality in both the primary
forward and backward functions.

Note that these functions are not optimized, nor are they
well written. However, they work.

Additionally, in several locations, there is leftover code
from where I was testing my mappings from the large
deeply nested loops in the col2im_inner and im2col_inner
functions to the 1D mappings needed for the device code.

Those sections should be moved out of the code and
into documentation somewhere.

zkSNARK and others added 30 commits April 2, 2019 17:52
.. fix some of the memory leaks in the forward
.. make note about optimization in the forward
.. add tensor_make_transpose_1230 (not working)
   and test (not working)
.. moves tests for tensor_make_transpose<....>
   into test_tensor_op.cpp

Signed-off-by: Christopher Goebel <cmgoebel@iupui.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iupui.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iupui.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iupui.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iupui.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iupui.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iupui.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iupui.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
This second function which does the same thing as
the first is only here to show an example of a
more direct mapping between the original memory
and a single index.  This will allow a direct
conversion to cuda code without much issue.

Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iupui.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iupui.edu>
Christopher Goebel and others added 27 commits May 3, 2019 14:42
…izes

Also creates a separate file for testing the device utils
and for their harnesses.

Signed-off-by: Christopher Goebel <cmgoebel@iupui.edu>
moves some things around, but creates harness functions
as an example of what all our call structures will need
to be in the future in order to gain control over the
block and thread sizes.

Note that this should be further extended to actually
accept dim3, but for now it will not be.

Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>

Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
This function was really designed to do a parameter search
for the forward_and backward device convolution operations.
However, for the submission, I have reduced it to performing
a single benchmark.

Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
…ce utils

Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
Also creates a separate file for testing the device utils
and for their harnesses.

Signed-off-by: Christopher Goebel <cmgoebel@iupui.edu>
Also creates a separate file for testing the device utils
and for their harnesses.

Signed-off-by: Christopher Goebel <cmgoebel@iupui.edu>
…mputing-materials into gpu-computing-submission
Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
Changes the device allocation and deallocation to take in
real tensors which allow me to do a better job forcing
everything to notify on its allocation and deallocation
counter.

Should help figure out whats up with the memory leaks in
convolution forward and backward.

Also further changes toward unifying on in in the whole
project.

Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
The problem was a simple missing deallocation on
d_dx_cols, and in this case, it was missing because
d_dx_cols and d_x_cols look almost the same.  It was
a very easy mistake to make, but silly none-the-less.

Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
@fengggli fengggli removed request for fgsong and qoofyk September 9, 2019 16:35
Signed-off-by: Christopher Goebel <cmgoebel@iu.edu>
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.

4 participants