Sun, 08 Feb 2009 22:32:33 +0000 |
mas01mc |
Rework new audiodb_track_id_datum_offset() and audiodb_insert_create_datum_offset() so that all offsets are in num_vectors. Internals of data storage are left the the methods to implement. If we are going to export these methods to the API, how do we expose the cache ? It needs to be passed back to the user and back in by the user on each call for caching to be re-entrant. No (intentional) functional changes this version.
multiprobeLSH
|
Sun, 08 Feb 2009 15:53:57 +0000 |
mas01mc |
Expanded interface to audiodb_insert_create_datum() and audiodb_track_id_datum() to include _offset versions of both. Default cache is NULL, but offset and size parameters required.
multiprobeLSH
|
Sun, 08 Feb 2009 06:41:55 +0000 |
mas01mc |
A fix for using_query_point with query_by_key (i.e. not by file). This code path still loads the entire query file, even if using one vector. Loading of query data needs better rationalization.
multiprobeLSH
|
Sun, 08 Feb 2009 05:06:01 +0000 |
mas01mc |
Fixed non-NULL memory initializaton error. We require NULL fields for correct free() behaviour.
multiprobeLSH
|
Sat, 07 Feb 2009 18:01:18 +0000 |
mas01mc |
This fix plugs a minor memory leak introduced in caching file references.
multiprobeLSH
|
Sat, 07 Feb 2009 16:59:31 +0000 |
mas01mc |
Added file caching for sparse datum reads. This required making a new type called adb_fd_cache_t and modifying the read methods audiodb_track_id_datum() and audiodb_insert_create_datum() to use the cache struct if one is provided by the user.
multiprobeLSH
|
Sat, 07 Feb 2009 12:12:46 +0000 |
mas01mc |
Fixed time-stamp option off-by-one error in new sparse scattered I/O. This probably isn't used by anyone at the moment and time-stamping needs to be tested properly anyway.
multiprobeLSH
|
Sat, 07 Feb 2009 01:20:05 +0000 |
mas01mc |
Optimized the query_loop_points inner loop for memcpy and I/O efficiency. Uses sparse seeks and reads to perform scattered reads across data set. Current version does not cache fid between open calls to the same trackID.
multiprobeLSH
|
Fri, 06 Feb 2009 21:08:35 +0000 |
mas01mc |
Added back single-query point I/O behaviour from pre API-inversion. Thus only those query vectors required are loaded when using query-from-file. Tests 0006 and 0007 fail silently with this change.
multiprobeLSH
|
Fri, 06 Feb 2009 17:08:21 +0000 |
mas01mc |
Removed obsolete dbH header pointer dereferences in audioDB.cpp. Replaced with the API adb->header type calls. The dbH calls were causing segfaults when attempting to index an empty database or during batch inserts in some rare cases.
|
Wed, 04 Feb 2009 13:47:02 +0000 |
mas01cr |
Use upper_bound rather than lower_bound in audiodb_index_to_track_id()
|
Wed, 04 Feb 2009 11:37:07 +0000 |
mas01cr |
Compile fix for previous revision
|
Wed, 04 Feb 2009 10:45:57 +0000 |
mas01mc |
Removed LSH_N_POINT_BITS coding for LSH index. Now uses binay search via STL lower_bound to locate tracks and positions from global pointID searching over cumulative track lengths. MERGE of branches/multiprobeLSH -r 819:821 onto trunk. This is a non backward-compatible change; WARNING generated on attempt to use INDEXING with older audioDB databases. Only INDEXES are broken, not ADB instances.
|
Tue, 03 Feb 2009 02:04:06 +0000 |
mas01mc |
Added warning about deprecated LSH_N_POINT_BITS coding. Only affects indexes built prior to rev 820
multiprobeLSH
|
Mon, 02 Feb 2009 17:41:02 +0000 |
mas01mc |
DELETED LSH_N_POINT_BITS coding. Tracks and points are now identified with a binary search, std::lower_bound(), on *adb->track_offsets return from LSH retrieval.
multiprobeLSH
|
Sat, 31 Jan 2009 16:25:30 +0000 |
mas01mc |
Removed redundant memcpy calls from query_loop_queue(). This changed the order of some memory allocation and de-allocation calls for loaded database data.
multiprobeLSH
|
Fri, 30 Jan 2009 19:44:51 +0000 |
mas01mc |
Completed audiodb_datum_qpointers_partial(), fixed bug that was scribbling over pre-computed l2norms when points arrived in original less<PointPair> order, switched to greater<PointPair> order and all is fixed.
multiprobeLSH
|
Fri, 30 Jan 2009 14:58:35 +0000 |
mas01mc |
Fixed a problem with inserting into exact_evaluation_queue, duplicate pairs were being inserted when querying multiple hashtables. That is now fixed by adding a unique constraint using set<PointPair> inserts and testing. This should speed things up quite a bit (like, 10-fold with default num tables).
multiprobeLSH
|
Thu, 29 Jan 2009 13:44:47 +0000 |
mas01mc |
Added audiodb_datum_qpointers_partial() to make exact evaluation of LSH results more efficient. This routine calculates partial sums only for those vectors needed.
multiprobeLSH
|
Wed, 28 Jan 2009 18:55:46 +0000 |
mas01mc |
Added more debugging information: report numPairs returned from LSH bucket retrieval (pre-distance computation), entry/exit from audiodb_query_spec_qpointers(...)
multiprobeLSH
|
Wed, 28 Jan 2009 17:54:18 +0000 |
mas01mc |
Set ADB_FIXME_DEFAULT_LSH_N_POINT_BITS to 15 so we can get about 20k vectors per file in the LSH point encoding. This pain and suffering will go away soon, I promise.
multiprobeLSH
|
Wed, 28 Jan 2009 17:18:58 +0000 |
mas01mc |
_LSH_DEBUG_ option now reports correct point counts per hashtable read.
multiprobeLSH
|
Wed, 28 Jan 2009 16:02:17 +0000 |
mas01mc |
Fixed a bug in LSH hashtable writing to disk that doesn't always sort the t2 entries into strict weak ordering. Now it does. Lots of debugging informational code inserted.
multiprobeLSH
|
Wed, 28 Jan 2009 05:18:14 +0000 |
mas01mc |
insert some statistics gathering for hash tables, add _LSH_DEBUG_ macro to output LSH statistics on INDEX and QUERY
multiprobeLSH
|
Tue, 27 Jan 2009 14:52:28 +0000 |
mas01mc |
Fixed upper-limit (T) boundary error in MultiProbe::generatePerturbationSets(x, T). Setting this too high spins algorithm1 into infinite heap allocations without possiblity of terminating. This is now silently capped at --lsh_k * 2; the algorithm halts up to this threshold.
multiprobeLSH
|
Tue, 27 Jan 2009 03:49:19 +0000 |
mas01mc |
Working version of multiprobe LSH. Passes tests. But needs testing vis-a-vis TP improvement. In the process, found a bug in hash function projections on rare occasions admitting negative values. This only shows for large datasets and was fatal for multiprobe.
multiprobeLSH
|
Mon, 26 Jan 2009 13:19:09 +0000 |
mas01mc |
Fixed boundary {-1,+1} order, array syntax in generate_multiprobe_keys(), boundary error in MultiProbe::valid()
multiprobeLSH
|
Mon, 26 Jan 2009 05:42:15 +0000 |
mas01mc |
lshlib MultiProbe glue added. Compiles and links against audioDB. Fails LSH tests at the moment.
multiprobeLSH
|
Mon, 26 Jan 2009 02:50:44 +0000 |
mas01mc |
Completed initial implementation of LSH MultiProbe class. Now needs to be joined to lshlib.cpp retrieve() method to perform multi-probe queries.
multiprobeLSH
|
Sun, 25 Jan 2009 06:10:38 +0000 |
mas01mc |
Completed multiprobe framework for LSH. Requires testing.
multiprobeLSH
|
Sat, 24 Jan 2009 19:51:46 +0000 |
mas01mc |
New branch to implement multiprobe LSH. Copy of trunk:802. Added multiprobe.{cpp,h} source files.
multiprobeLSH
|
Sat, 24 Jan 2009 09:39:39 +0000 |
mas01cr |
in audioDB::query, open the database file with O_RDONLY.
|
Sat, 24 Jan 2009 06:16:00 +0000 |
mas01mc |
Removed redundant copy in LSH hashfunction computation when #!defined USE_U_FUNCTIONS. Moved LSH macro definitions into lshlib.h
|
Fri, 23 Jan 2009 21:44:32 +0000 |
mas01mc |
Added hook for dumping LSH INDEX tables on load via compile-time switch: -DLSH_DUMP_CORE_TABLES
|
Fri, 23 Jan 2009 18:45:44 +0000 |
mas01mc |
Implemented correct LSH table via compile-time switch -DLSH_DUMP_CORE_TABLES. Dumps on LSH load.
memory-leaks
|
Wed, 21 Jan 2009 21:48:25 +0000 |
mas01cr |
Initial checkin of WIP sb-alien bindings.
|
Thu, 15 Jan 2009 14:23:09 +0000 |
mas01cr |
Add missing pointpair.h file.
|
Thu, 15 Jan 2009 13:57:33 +0000 |
mas01cr |
Code rearrangements to tease apart library code from C++ audioDB code.
|
Tue, 13 Jan 2009 21:37:14 +0000 |
mas01cr |
Better soap memory correctness.
|
Tue, 13 Jan 2009 21:37:10 +0000 |
mas01cr |
Free bits of the datum constructed in audioDB::query.
|
Tue, 13 Jan 2009 21:37:06 +0000 |
mas01cr |
Makefile fixup.
|
Tue, 13 Jan 2009 21:26:33 +0000 |
mas01cr |
Remove all those "with library" in the libtests/ short-descriptions
|
Tue, 13 Jan 2009 21:26:26 +0000 |
mas01cr |
Remove vestiges of old allowed_keys implementation of restrict list
|
Tue, 13 Jan 2009 21:26:21 +0000 |
mas01cr |
Makefile improvements from library/application separation.
|
Sun, 11 Jan 2009 04:24:24 +0000 |
mas01mc |
generalized LSH_N_POINT_BITS compile-time option. Set to <=15 or omit for default (backwards-compatible) behaviour.
memory-leaks
|
Sun, 11 Jan 2009 03:57:01 +0000 |
mas01mc |
revert QueryADB.py server port to 14475
memory-leaks
|
Sat, 10 Jan 2009 20:01:53 +0000 |
mas01mc |
Fixed bug in LSH_N_POINT_BITS coding when using AudioDB with LSH indexes
memory-leaks
|
Sat, 10 Jan 2009 19:01:01 +0000 |
mas01mc |
Changed LSH_N_POINTS_BIT header field to a width of 5 bits
malcolm-large-tracks
|
Sat, 10 Jan 2009 16:47:57 +0000 |
mas01cr |
Merge api-inversion branch (-r656:771, but I don't expect to return to
|
Sat, 10 Jan 2009 16:07:43 +0000 |
mas01cr |
More libtests fixups.
api-inversion
|
Sat, 10 Jan 2009 15:33:25 +0000 |
mas01cr |
Mostly disentangle API from command-line binary.
api-inversion
|
Sat, 10 Jan 2009 15:33:21 +0000 |
mas01cr |
libtests cleanups
api-inversion
|
Sat, 10 Jan 2009 15:33:16 +0000 |
mas01cr |
Finish rewriting libtests.
api-inversion
|
Sat, 10 Jan 2009 15:33:11 +0000 |
mas01cr |
Even more audiodb_query() deletion
api-inversion
|
Sat, 10 Jan 2009 15:33:07 +0000 |
mas01cr |
Yet more audiodb_query() deletions.
api-inversion
|
Sat, 10 Jan 2009 15:33:02 +0000 |
mas01cr |
More removal of audiodb_query()
api-inversion
|
Sat, 10 Jan 2009 15:32:58 +0000 |
mas01cr |
Continue removing uses of audiodb_query()
api-inversion
|
Sat, 10 Jan 2009 15:32:53 +0000 |
mas01cr |
Begin removing uses of audiodb_query()
api-inversion
|
Sat, 10 Jan 2009 15:32:49 +0000 |
mas01cr |
Remove dump_query() function.
api-inversion
|
Sat, 10 Jan 2009 15:32:42 +0000 |
mas01cr |
Begin cleaning up libtests
api-inversion
|