log

age author description
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