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

winograd conv #2

Open
LeonNerd opened this issue Jan 30, 2024 · 7 comments
Open

winograd conv #2

LeonNerd opened this issue Jan 30, 2024 · 7 comments

Comments

@LeonNerd
Copy link

hi,I'm from sd.cpp.I am very interested in the Winograd convolution algorithm you mentioned, and I'd like to know how its progress is going. I wonder why it's no longer on the sd.cpp to-do list.

@FSSRepo
Copy link
Owner

FSSRepo commented Jan 30, 2024

I attempted to implement it, but it turns out to be much slower compared to what we currently have in place.

@LeonNerd
Copy link
Author

I attempted to implement it, but it turns out to be much slower compared to what we currently have in place.

hi,It seems that the implementation is somewhat challenging, but optimizing convolutions is indeed necessary. Could you share your project code? I would like to continue your work based on it.

@FSSRepo
Copy link
Owner

FSSRepo commented Jan 31, 2024

See my ggml fork i have a winograd branch.

I had implemented it in cpu and cuda

@LeonNerd
Copy link
Author

See my ggml fork i have a winograd branch.

I had implemented it in cpu and cuda

Thank you. It looks like you've done a lot of work.What do you think is the reason for the slow speed? In theory, the speed should be faster.

@FSSRepo
Copy link
Owner

FSSRepo commented Jan 31, 2024

I think it's because I'm not using SIMD instructions (hardware acceleration), just vanilla code. In CUDA, it's because I'm not distributing the computation well. The advantage of using Winograd is that it consumes 60% less memory than the current convolution implementation.

@LeonNerd
Copy link
Author

Amazing,when I finish what I'm doing,continue with your work.

@LeonNerd
Copy link
Author

hi,Which version of sd.cpp were you previously using? Is it in the forked project that you have?

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

No branches or pull requests

2 participants