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

[WIP]MAHOUT-1974 (dense cuda multiplication) #318

Open
wants to merge 28 commits into
base: CUDA
Choose a base branch
from

Conversation

andrewpalumbo
Copy link
Member

@andrewpalumbo andrewpalumbo commented May 9, 2017

Purpose of PR:

Please give a short description of what this PR is for.

Important ToDos

Please mark each with an "x"

  • A JIRA ticket exists (if not, please create this first)[https://issues.apache.org/jira/browse/MAHOUT/]
  • Title of PR is "MAHOUT-XXXX Brief Description of Changes" where XXXX is the JIRA number.
  • Created unit tests where appropriate
  • Added licenses correct on newly added files
  • Assigned JIRA to self
  • Added documentation in scala docs/java docs, and to website
  • Successfully built and ran all unit tests, verified that all tests pass locally.

If all of these things aren't complete, but you still feel it is
appropriate to open a PR, please add [WIP] after MAHOUT-XXXX before the
descriptions- e.g. "MAHOUT-XXXX [WIP] Description of Change"

Does this change break earlier versions?

Is this the beginning of a larger project for which a feature branch should be made?

nsakharnykh and others added 19 commits March 28, 2017 13:17
andy@micheal:~/sandbox/mahout_cuda/cuda$ export SIZE_N=5000
andy@micheal:~/sandbox/mahout_cuda/cuda$ export SIZE_M=5000
andy@micheal:~/sandbox/mahout_cuda/cuda$ export SIZE_S=5000
andy@micheal:~/sandbox/mahout_cuda/cuda$ export DENSITY=.2
andy@micheal:~/sandbox/mahout_cuda/cuda$ export NUM_RUNS=2
andy@micheal:~/sandbox/mahout_cuda/cuda$ export SEED=1234
… needs to repacked mahout in-core matrices (row-major) as column major per the wrapped call to NVIDIA cublasDgemm operation. The fact that cusparse uses CSR rather than CSC is somewhat confusing in this case (for e.g. a Dense %*% Sparse JVM level operation
… need to use transposes. need to check values in unit tests, and transpose in dgemm call as needed
@andrewpalumbo
Copy link
Member Author

need to rebase

@andrewpalumbo
Copy link
Member Author

@nsakharnykh @pat @rawkintrevo FYI Sparse Sparse vlaues are correct, dense dense is implemented but untested.

@andrewpalumbo
Copy link
Member Author

@nsakharnykh sorry for the state of this branch, I tend to commit a lot on this project, and leave a lot of [WIP]s in when jumping around to other branches. Resolved all conflicts the against CUDA branch.. going to start looking at Dense %*% sparse again. First need to read up on JCublas2._.

@andrewpalumbo
Copy link
Member Author

andrewpalumbo commented Jul 15, 2017

@nsakharnykh I think that I'll fix the routing on this and test the sorted CSC requirement (MAHOUT-2004 and MAHOUT-2003) and then after some cleaning on this, we should push to mahout/CUDA.

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.

2 participants