OverviewFilesCommitsIssuesDocsReleasesPeers

opencog-CompactHash commits / 33051bf

Adding compact hash openmp headers
33051bff1fea78291c2c1b8cb9c11b8c544f24e9
by Bob Robey <brobey@lanl.gov> · 2015-10-25T04:25:24.000Z

Changed files (3) +143 -0

HashFactory/HashFactory.h +109 -0
……@@ -617,6 +617,55 @@ int intintLCGLinearOpenCompactCLHash_BufferInsertNoOverwrite(intintHash_Table *
617617 cl_mem keysBuffer,
618618 cl_mem
619619 valuesBuffer);
620int intintLCGLinearOpenCompactOpenMPHash_CreateFactory(intintHash_Factory *
621 factory, int hashIndex);
622int intintLCGLinearOpenCompactOpenMPHash_DestroyFactory(intintHash_Factory *
623 factory, int hashIndex);
624intintHash_Table
625 *intintLCGLinearOpenCompactOpenMPHash_CreateTable(intintHash_Factory *
626 factory, int hashIndex,
627 size_t keyRange,
628 size_t numEntries,
629 float loadFactor);
630int intintLCGLinearOpenCompactOpenMPHash_InitTable(intintHash_Table * table,
631 va_list args);
632int intintLCGLinearOpenCompactOpenMPHash_DestroyTable(intintHash_Table * table);
633char *intintLCGLinearOpenCompactOpenMPHash_Report(intintHash_Table * table);
634int intintLCGLinearOpenCompactOpenMPHash_EmptyTable(intintHash_Table * table);
635int intintLCGLinearOpenCompactOpenMPHash_Query(intintHash_Table * table,
636 size_t numKeys, int *keys,
637 int *valuesOutput);
638int intintLCGLinearOpenCompactOpenMPHash_QuerySingle(intintHash_Table * table,
639 int key, int *valueOutput);
640int intintLCGLinearOpenCompactOpenMPHash_Insert(intintHash_Table * table,
641 size_t numEntries, int *keys,
642 int *values);
643int intintLCGLinearOpenCompactOpenMPHash_InsertSingle(intintHash_Table * table,
644 int key, int value);
645int intintLCGLinearOpenCompactOpenMPHash_InsertNoOverwrite(intintHash_Table *
646 table,
647 size_t numEntries,
648 int *keys,
649 int *values);
650int
651intintLCGLinearOpenCompactOpenMPHash_InsertSingleNoOverwrite(intintHash_Table *
652 table, int key,
653 int value);
654int intintLCGLinearOpenCompactOpenMPHash_BufferQuery(intintHash_Table * table,
655 size_t numKeys,
656 cl_mem keysBuffer,
657 cl_mem valuesOutputBuffer);
658int intintLCGLinearOpenCompactOpenMPHash_BufferInsert(intintHash_Table * table,
659 size_t numEntries,
660 cl_mem keysBuffer,
661 cl_mem valuesBuffer);
662int
663intintLCGLinearOpenCompactOpenMPHash_BufferInsertNoOverwrite(intintHash_Table *
664 table,
665 size_t numEntries,
666 cl_mem keysBuffer,
667 cl_mem
668 valuesBuffer);
620669int intintLCGQuadraticOpenCompactHash_CreateFactory(intintHash_Factory *
621670 factory, int hashIndex);
622671int intintLCGQuadraticOpenCompactHash_DestroyFactory(intintHash_Factory *
……@@ -699,6 +748,66 @@ int intintLCGQuadraticOpenCompactCLHash_BufferInsertNoOverwrite(intintHash_Table
699748 keysBuffer,
700749 cl_mem
701750 valuesBuffer);
751int intintLCGQuadraticOpenCompactOpenMPHash_CreateFactory(intintHash_Factory *
752 factory,
753 int hashIndex);
754int intintLCGQuadraticOpenCompactOpenMPHash_DestroyFactory(intintHash_Factory *
755 factory,
756 int hashIndex);
757intintHash_Table
758 *intintLCGQuadraticOpenCompactOpenMPHash_CreateTable(intintHash_Factory *
759 factory, int hashIndex,
760 size_t keyRange,
761 size_t numEntries,
762 float loadFactor);
763int intintLCGQuadraticOpenCompactOpenMPHash_InitTable(intintHash_Table * table,
764 va_list args);
765int intintLCGQuadraticOpenCompactOpenMPHash_DestroyTable(intintHash_Table *
766 table);
767char *intintLCGQuadraticOpenCompactOpenMPHash_Report(intintHash_Table * table);
768int intintLCGQuadraticOpenCompactOpenMPHash_EmptyTable(intintHash_Table *
769 table);
770int intintLCGQuadraticOpenCompactOpenMPHash_Query(intintHash_Table * table,
771 size_t numKeys, int *keys,
772 int *valuesOutput);
773int intintLCGQuadraticOpenCompactOpenMPHash_QuerySingle(intintHash_Table *
774 table, int key,
775 int *valueOutput);
776int intintLCGQuadraticOpenCompactOpenMPHash_Insert(intintHash_Table * table,
777 size_t numEntries, int *keys,
778 int *values);
779int intintLCGQuadraticOpenCompactOpenMPHash_InsertSingle(intintHash_Table *
780 table, int key,
781 int value);
782int intintLCGQuadraticOpenCompactOpenMPHash_InsertNoOverwrite(intintHash_Table *
783 table,
784 size_t numEntries,
785 int *keys,
786 int *values);
787int
788intintLCGQuadraticOpenCompactOpenMPHash_InsertSingleNoOverwrite(intintHash_Table
789 * table,
790 int key,
791 int value);
792int intintLCGQuadraticOpenCompactOpenMPHash_BufferQuery(intintHash_Table *
793 table, size_t numKeys,
794 cl_mem keysBuffer,
795 cl_mem
796 valuesOutputBuffer);
797int intintLCGQuadraticOpenCompactOpenMPHash_BufferInsert(intintHash_Table *
798 table,
799 size_t numEntries,
800 cl_mem keysBuffer,
801 cl_mem valuesBuffer);
802int
803intintLCGQuadraticOpenCompactOpenMPHash_BufferInsertNoOverwrite(intintHash_Table
804 * table,
805 size_t
806 numEntries,
807 cl_mem
808 keysBuffer,
809 cl_mem
810 valuesBuffer);
702811
703812#ifdef __cplusplus
704813}
HashFactory/HashFactory.hm +4 -0
……@@ -113,8 +113,12 @@
113113 \
114114 LCG_LINEAR_OPEN_COMPACT_CL_HASH_DECLARE(NAME, KEY_TYPE, VALUE_TYPE)\
115115 \
116 LCG_LINEAR_OPEN_COMPACT_OPENMP_HASH_DECLARE(NAME, KEY_TYPE, VALUE_TYPE)\
117 \
116118 LCG_QUADRATIC_OPEN_COMPACT_HASH_DECLARE(NAME, KEY_TYPE, VALUE_TYPE)\
117119 \
118120 LCG_QUADRATIC_OPEN_COMPACT_CL_HASH_DECLARE(NAME, KEY_TYPE, VALUE_TYPE)\
121 \
122 LCG_QUADRATIC_OPEN_COMPACT_OPENMP_HASH_DECLARE(NAME, KEY_TYPE, VALUE_TYPE)\
119123\
120124
HashFactory/compactHash.hm +30 -0
……@@ -100,3 +100,33 @@
100100 QUADRATIC_OPEN_COMPACT_CL_HASH_DECLARE(NAME, LCG, KEY_TYPE, VALUE_TYPE)\
101101\
102102
103#define COMPACT_OPENMP_HASH_DECLARE(NAME, MODIFIER, KEY_TYPE, VALUE_TYPE)\
104 \
105 OPENMP_HASH_DECLARE(NAME, MODIFIER##Compact, KEY_TYPE, VALUE_TYPE)\
106\
107
108#define OPEN_COMPACT_OPENMP_HASH_DECLARE(NAME, MODIFIER, KEY_TYPE, VALUE_TYPE)\
109 \
110 COMPACT_OPENMP_HASH_DECLARE(NAME, MODIFIER##Open, KEY_TYPE, VALUE_TYPE)\
111\
112
113#define LINEAR_OPEN_COMPACT_OPENMP_HASH_DECLARE(NAME, MODIFIER, KEY_TYPE, VALUE_TYPE)\
114 \
115 OPEN_COMPACT_OPENMP_HASH_DECLARE(NAME, MODIFIER##Linear, KEY_TYPE, VALUE_TYPE)\
116\
117
118#define LCG_LINEAR_OPEN_COMPACT_OPENMP_HASH_DECLARE(NAME, KEY_TYPE, VALUE_TYPE)\
119 \
120 LINEAR_OPEN_COMPACT_OPENMP_HASH_DECLARE(NAME, LCG, KEY_TYPE, VALUE_TYPE)\
121\
122
123#define QUADRATIC_OPEN_COMPACT_OPENMP_HASH_DECLARE(NAME, MODIFIER, KEY_TYPE, VALUE_TYPE)\
124 \
125 OPEN_COMPACT_OPENMP_HASH_DECLARE(NAME, MODIFIER##Quadratic, KEY_TYPE, VALUE_TYPE)\
126\
127
128#define LCG_QUADRATIC_OPEN_COMPACT_OPENMP_HASH_DECLARE(NAME, KEY_TYPE, VALUE_TYPE)\
129 \
130 QUADRATIC_OPEN_COMPACT_OPENMP_HASH_DECLARE(NAME, LCG, KEY_TYPE, VALUE_TYPE)\
131\
132