Skip to content
This repository has been archived by the owner on Jan 11, 2022. It is now read-only.

[manyblock mode] why store embedding in "xt_sh" if we are going to overwrite it anyways? #82

Open
isaacleeai opened this issue Dec 4, 2018 · 1 comment

Comments

@isaacleeai
Copy link

isaacleeai commented Dec 4, 2018

in function "nv_wavenet_persistent_cur", we add values from "embedPrev" and "embedCur". Then we save the values in "xt_sh" and the same values in "xt". Then, before the GEMM, we update the values in "xt_sh" again ( if layer == 0, then we are storing values that are exactly the same as the values they are replacing ). So is it necessary to store the added embedding values in "xt_sh" in the first place?

@isaacleeai
Copy link
Author

isaacleeai commented Dec 6, 2018

Tested the above hypothesis:
in nv_wavenet_persistent_cur in nv_wavenet_persistent.cuh, modified the part where we load values from Xt and a_prev. Instead of checking for both Xt and a_prev, I put a conditional s.t. it does not check for Xt and only checks for a_prev when layer == 0. Passed nv_wavenet_test with manyblock mode only ( but since persistent is almost like manyblock, they should both work, although I can't test persistent on the GPU I have ).

Please let me know if I am wrong or share your thoughts.

Thanks

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant