Changeset: 0ff8d03deff9 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0ff8d03deff9
Modified Files:
        monetdb5/extras/crackers/crackers_holistic.c
Branch: holindex
Log Message:

The randomCrackfunction can also apply parallel vectorized cracking.


diffs (50 lines):

diff --git a/monetdb5/extras/crackers/crackers_holistic.c 
b/monetdb5/extras/crackers/crackers_holistic.c
--- a/monetdb5/extras/crackers/crackers_holistic.c
+++ b/monetdb5/extras/crackers/crackers_holistic.c
@@ -328,18 +328,24 @@ changeWeight_3(FrequencyNode* node,int N
 str
 CRKrandomCrack(int *ret)
 {
-       int bid=0, change_bat=0, i=0, cracks=0;
+       int bid=0, change_bat=0, i=0, cracks=0, nthreads = int_nil, 
vector_elements = int_nil;
        FrequencyNode* max_node;
        bit inclusive=TRUE;
        FrequencyNode *fs = getFrequencyStruct('A');    
         char *p = getenv("CRACKS");
+        char *p1 = getenv("NTHREADS");
+       char *p2 = getenv("VECTORELEMENTS");
 
-        if (p == NULL){
-                fprintf(stderr, "Error randomCrack: environment variable 
(CRACKS) is missing.\n");
+        if (p == NULL || p1 == NULL || p2 == NULL){
+                fprintf(stderr, "Error randomCrack: environment variable is 
missing.\n");
                 exit(1);
         }
         else
-                cracks=atoi(p);
+       {
+                cracks = atoi(p);
+               nthreads = atoi(p1);
+               vector_elements = atoi(p2);
+       }
 
        (void) ret;
        MT_lock_set(&frequencylock, "getFrequencyStruct");
@@ -350,7 +356,7 @@ CRKrandomCrack(int *ret)
                bid=max_node->bid;
                 for (i=0; i<cracks; i++)
                 {
-                       change_bat = CRKrandomholpl_int(&bid,&inclusive);
+                       change_bat = CRKrandomholpl_int_MT(&bid,&inclusive, 
nthreads, vector_elements);
                        if (change_bat == -1)
                        {
                                /*MT_lock_set(&frequencylock, 
"getFrequencyStruct");
@@ -359,7 +365,7 @@ CRKrandomCrack(int *ret)
                                if(max_node!=NULL && max_node->weight > 0)
                                {
                                        bid=max_node->bid;
-                                       (void) 
CRKrandomholpl_int(&bid,&inclusive);
+                                       (void) 
CRKrandomholpl_int(&bid,&inclusive, nthreads, vector_elements);
                                }*/
                                fprintf(stderr,"Exception in randomholpl.\n");
                        }
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to