-
Notifications
You must be signed in to change notification settings - Fork 276
Use optimized lingebra math libraries #28
Comments
is this still an issue? (given the optimizations were not that big?) Before I was suggesting multiplatform |
@subutai would you mind if I reword the issue a bit?
|
Please review this issueThis issue needs to be reviewed by the original author or another contributor for applicability to the current codebase. The issue might be obsolete or need updating to match current standards and practices. If the issue is out of date, please close. Otherwise please leave a comment to justify its continuing existence. It may be closed in the future if no further activity is noted. |
This is still valid, although noone is at the time working on the porting to lingebra libraries. I think it should stay open to monitor optimization progress and results. |
Ok, so the issue is still valid, but it is also defined very broadly. It's labeled |
@rhyolight Agreed. The issue is indeed pretty big right now. I think a good first step is to replace the use of sparse matrices in the python spatial pooler, python KNN classifier, and/or optimize the existing C++ SpatialPooler (which is not currently too optimized). |
@subutai shouldn't the effort focus on the big-impact first? Aka the biggest bottlenecks, which is still TM/TP?
@jshahbazi Sorry, I missed your call, if you are still interested, we certainly would! The logic and operations are in The operations (someone please correct me): vector AND, searching N-highest entries, indexing and updating weights, ... @scottpurdy @mrcslws @subutai ? The code can be benchmarked (globally, for a typical use) using #890 . Also please weight in on #948 |
The TM is actually not the biggest bottleneck right now. After changes by @mrcslws it is a pretty small part of the overall profile. |
@subutai not really, it still is (even the code complexity compared to SP is higher) Please see numenta/nupic-legacy#3131 for my benchmarks:
The old SP problem I've discovered with 1D vs 2D inputs: #380 |
@rhyolight this IS a super issue with links to sub-issues where possible/active |
Added #967 as a proposal that would halve the computation time easily. |
@breznak I will let @mrcslws comment on this. According to Marcus, when you run hotgym, the new TM is a small percentage of the overall profile. Marcus - am I mis-remembering? I took a quick look at #3131 and sp_profile. I don't remember seeing this script before but it looks like the SP parameters are quite off in sp_profile. Why is potentialRadius only 3? It should be much larger to form good SDRs. Same with numActiveColumnsPerInhArea, etc. etc. I think the parameters should be set to realistic numbers and the profile re-run with those numbers. |
I commented on numenta/nupic-legacy#3131 (comment). |
This super issue plans workflow for speed optimizations by using a specialized library.
Benefits:
Requirements:
Workflow:
The text was updated successfully, but these errors were encountered: