Skip to content

Frequency bundling introduced #5

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

Open
wants to merge 34 commits into
base: chime
Choose a base branch
from

Conversation

smearedink
Copy link
Contributor

It's still buggy, but the ability to set nbundle is in place, and the code (generally) runs from beginning to end and I'm pretty sure it doesn't corrupt data. This makes it possible to run MANY-channel input (for CHIME it's 1024 input channels) in subsets of channels (eg, channels 0-7, then 8-15, then 16-23, ...) allowing for more time samples to be loaded to GPU at once and thus longer FFTs to be performed. In its current form, unpacking on the CPU is the biggest bottleneck. I'm having each thread unpack a complete set of frequency channels, then transfer to GPU etc in bundles until it returns to bundle 0 and unpacks some more. Since streams are launched simultaneously, they all unpack at once which slows down the unpacking, then they all compute at once while no unpacking happens. The unpacking being staggered between threads would solve or largely solve this problem.

demorest and others added 24 commits July 13, 2015 09:02
chime branch merged into master
This is a temporary workaround to avoid linking problems with compiling
with --enable-shared.  The basic issue is that code under Kernel/ can't
depend on code under Signal/ under the current dependency scheme.
Updated master branch from demorest
Merging changes to master into chime branch and hoping for the best
@smearedink
Copy link
Contributor Author

I think the change to unpacking to make it cache-friendly accidentally made it unpack waaay more than it was supposed to, so I made a change to BitUnpacker. Also, unloading with subintegrations when using bundles is currently broken, which I'm trying to get working.

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.

5 participants