This commit is contained in:
Vitor Santos Costa
2018-06-30 14:33:32 +01:00
parent 6c1d3d1a95
commit 5f96c07131
90 changed files with 632 additions and 623 deletions

View File

@@ -80,7 +80,7 @@ int bpredscpu(int *dop1, int rows, int *bin, int3 numpreds, int **ret)
ptr = fres;
for(x = 0; x < NUM_T; x++)
{
memcpy(ptr, vec[x].data(), ini[x] * sizeof(int));
memmove(ptr, vec[x].data(), ini[x] * sizeof(int));
ptr += ini[x];
}
*ret = fres;

View File

@@ -376,12 +376,12 @@ load_rule( void ) {
pred->is_fact = FALSE;
x = (strlen(strname) + 1) * sizeof(char);
pred->predname = (char *)malloc(x);
memcpy(pred->predname, strname, x);
memmove(pred->predname, strname, x);
nvec = (int32_t *)malloc(sizeof(int32_t)*(ptr-vec));
memcpy(nvec, vec, sizeof(int32_t)*(ptr-vec));
memmove(nvec, vec, sizeof(int32_t)*(ptr-vec));
pred->address_host_table = nvec;
pred->negatives = (int32_t *)malloc(sizeof(int32_t) * cont);
memcpy(pred->negatives, neg, sizeof(int32_t) * cont);
memmove(pred->negatives, neg, sizeof(int32_t) * cont);
Cuda_NewRule( pred );
return YAP_Unify(YAP_ARG4, YAP_MkIntTerm((YAP_Int)pred));
}

View File

@@ -180,7 +180,7 @@ void postgresRead(PGconn **ret, vector<gpunode> *L, int *inpquery, char *names,
{
numt = (strlen(tok) + 1) * sizeof(char);
qrs[x] = (char *)malloc(numt);
memcpy(qrs[x], tok, numt);
memmove(qrs[x], tok, numt);
}
x += 2;
}
@@ -264,7 +264,7 @@ void postgresRead(PGconn **ret, vector<gpunode> *L, int *inpquery, char *names,
L->at(z).address_host_table = mat;
numc = (strlen(tok) + 1) * sizeof(char);
L->at(z).predname = (char *)malloc(numc);
memcpy(L->at(z).predname, tok, numc);
memmove(L->at(z).predname, tok, numc);
PQclear(pgr);
tok = strtok(NULL, " ");
z++;

View File

@@ -466,7 +466,7 @@ int joincpu(int *p1, int *p2, int rLen, int sLen, int of1, int of2, list<rulenod
temp = fres;
for(x = 0; x < NUM_T; x++)
{
memcpy(temp, res[x].data(), ini[x] * sizeof(int));
memmove(temp, res[x].data(), ini[x] * sizeof(int));
temp += ini[x];
}

View File

@@ -114,7 +114,7 @@ void movebpreds(InputIterator rules, InputIterator end)
subs = rules->rule_names[x+1] - rules->rule_names[x];
if(rules->address_host_table[rules->rule_names[x]] > 0)
{
memcpy(rest + cont, rules->address_host_table + rules->rule_names[x], subs * sizeof(int));
memmove(rest + cont, rules->address_host_table + rules->rule_names[x], subs * sizeof(int));
cont += subs;
}
else
@@ -123,17 +123,17 @@ void movebpreds(InputIterator rules, InputIterator end)
subs--;
if(rules->address_host_table[pos] > 0 && rules->address_host_table[pos+1] > 0)
{
memcpy(move2 + cont3, rules->address_host_table + rules->rule_names[x], subs * sizeof(int));
memmove(move2 + cont3, rules->address_host_table + rules->rule_names[x], subs * sizeof(int));
cont3 += subs;
}
else
{
memcpy(move + cont2, rules->address_host_table + rules->rule_names[x], subs * sizeof(int));
memmove(move + cont2, rules->address_host_table + rules->rule_names[x], subs * sizeof(int));
cont2 += subs;
}
}
}
memcpy(rules->address_host_table, rest, cont * sizeof(int));
memmove(rules->address_host_table, rest, cont * sizeof(int));
pos = 1;
for(x = 1; x <= total; x++)
@@ -178,7 +178,7 @@ void movebpreds(InputIterator rules, InputIterator end)
pos += 2;
cont = closestpred(rules->rule_names, rules->num_rows, p1);
memcpy(rules->preds[cont] + rules->numpreds[cont].x, move + cont2, total);
memmove(rules->preds[cont] + rules->numpreds[cont].x, move + cont2, total);
rules->numpreds[cont].x += 3;
cont2 += 3;
}
@@ -212,19 +212,19 @@ void movebpreds(InputIterator rules, InputIterator end)
cont2 = closestpred(rules->rule_names, rules->num_rows, p2);
if(cont == cont2)
{
memcpy(rules->preds[cont] + rules->numpreds[cont].x, move2 + cont3, total);
memmove(rules->preds[cont] + rules->numpreds[cont].x, move2 + cont3, total);
rules->numpreds[cont].x += 3;
}
else
{
if(cont > cont2)
{
memcpy(rules->preds[cont] + rules->numpreds[cont].x + rules->numpreds[cont].y, move2 + cont3, total);
memmove(rules->preds[cont] + rules->numpreds[cont].x + rules->numpreds[cont].y, move2 + cont3, total);
rules->numpreds[cont].y += 3;
}
else
{
memcpy(rules->preds[cont2] + rules->numpreds[cont2].x + rules->numpreds[cont2].y, move2 + cont3, total);
memmove(rules->preds[cont2] + rules->numpreds[cont2].x + rules->numpreds[cont2].y, move2 + cont3, total);
rules->numpreds[cont2].y += 3;
}
}
@@ -345,7 +345,7 @@ void seleccion(InputIterator actual, InputIterator end)
sl = x - 1;
tam = cont * sizeof(int);
actual->select[sl] = (int *)malloc(tam);
memcpy(actual->select[sl], pv, tam);
memmove(actual->select[sl], pv, tam);
actual->numsel[sl] = cont;
}
actual++;
@@ -480,9 +480,9 @@ int2 columnsproject(int *first, int tam, int *rule, int ini, int fin, int sini,
temp = ret.y * sizeof(int);
free(*newrule);
*newrule = (int *)malloc(temp);
memcpy(*newrule, pv, temp);
memmove(*newrule, pv, temp);
*res = (int *)malloc(temp);
memcpy(*res, pv2, temp);
memmove(*res, pv2, temp);
return ret;
}
@@ -509,7 +509,7 @@ int wherejoin(int *tmprule, int tmplen, int *rule, int tam2, int **res)
temp = cont * sizeof(int);
*res = (int *)malloc(temp);
memcpy(*res, joins, temp);
memmove(*res, joins, temp);
return cont;
}
@@ -611,7 +611,7 @@ void proyeccion(InputIterator actual, InputIterator end)
temp = pos.x * sizeof(int);
actual->project[0] = (int *)malloc(temp);
memcpy(actual->project[0], fjoin, temp);
memmove(actual->project[0], fjoin, temp);
pos.y = pos.x;
actual->projpos[0] = pos;
actual++;
@@ -628,7 +628,7 @@ void proyeccion(InputIterator actual, InputIterator end)
pos.y = actual->rule_names[2] - actual->rule_names[1] - 2;
temp = pos.y * sizeof(int);
pv = (int *)malloc(temp);
memcpy(pv, actual->address_host_table + actual->rule_names[1] + 1, temp);
memmove(pv, actual->address_host_table + actual->rule_names[1] + 1, temp);
for(x = 2, y = 0; x <= numjoins; x++, y++)
{
@@ -676,7 +676,7 @@ void proyeccion(InputIterator actual, InputIterator end)
}
temp = pos.x * sizeof(int);
actual->project[numjoins] = (int *)malloc(temp);
memcpy(actual->project[numjoins], fjoin, temp);
memmove(actual->project[numjoins], fjoin, temp);
pos.y = pos.x;
actual->projpos[numjoins] = pos;
actual++;
@@ -701,7 +701,7 @@ void selfjoin(InputIterator actual, InputIterator end)
if(actual->address_host_table[pos] < 0)
continue;
tam = actual->rule_names[x+1] - actual->rule_names[x] - 2;
memcpy(rulecpy, actual->address_host_table + pos + 1, tam * sizeof(int));
memmove(rulecpy, actual->address_host_table + pos + 1, tam * sizeof(int));
cont = 0;
for(y = 0; y < tam; y++)
{
@@ -735,7 +735,7 @@ void selfjoin(InputIterator actual, InputIterator end)
temp = x - 1;
tam = cont * sizeof(int);
actual->selfjoin[temp] = (int *)malloc(tam);
memcpy(actual->selfjoin[temp], fjoin, tam);
memmove(actual->selfjoin[temp], fjoin, tam);
actual->numselfj[temp] = cont;
}
actual++;
@@ -772,7 +772,7 @@ void consulta(int *query, int qsize, int qname, rulenode *res)
size = cont1 * sizeof(int);
res->select = (int **)malloc(sizeof(int *));
res->select[0] = (int *)malloc(size);
memcpy(res->select[0], sel, size);
memmove(res->select[0], sel, size);
cont1 = 0;
}
if(cont2 > 0)
@@ -780,7 +780,7 @@ void consulta(int *query, int qsize, int qname, rulenode *res)
size = cont2 * sizeof(int);
res->project = (int **)malloc(sizeof(int *));
res->project[0] = (int *)malloc(size);
memcpy(res->project[0], pro, size);
memmove(res->project[0], pro, size);
}
for(x = 0; x < qsize; x++)
{
@@ -817,7 +817,7 @@ void consulta(int *query, int qsize, int qname, rulenode *res)
size = cont1 * sizeof(int);
res->selfjoin = (int **)malloc(sizeof(int *));
res->selfjoin[0] = (int *)malloc(size);
memcpy(res->selfjoin[0], sel, size);
memmove(res->selfjoin[0], sel, size);
}
}

View File

@@ -346,7 +346,7 @@ int cargarcpu(int name, int num_rows, int num_columns, int is_fact, int *address
}
for(; x < numcpu; x++)
{
memcpy(temp + inc, temp_storage[x].dev_address, temp_storage[x].size);
memmove(temp + inc, temp_storage[x].dev_address, temp_storage[x].size);
inc += temp_storage[x].size / sizeof(int);
free(temp_storage[x].dev_address);
}

View File

@@ -376,12 +376,12 @@ load_rule( void ) {
pred->is_fact = FALSE;
x = (strlen(strname) + 1) * sizeof(char);
pred->predname = (char *)malloc(x);
memcpy(pred->predname, strname, x);
memmove(pred->predname, strname, x);
nvec = (int32_t *)malloc(sizeof(int32_t)*(ptr-vec));
memcpy(nvec, vec, sizeof(int32_t)*(ptr-vec));
memmove(nvec, vec, sizeof(int32_t)*(ptr-vec));
pred->address_host_table = nvec;
pred->negatives = (int32_t *)malloc(sizeof(int32_t) * cont);
memcpy(pred->negatives, neg, sizeof(int32_t) * cont);
memmove(pred->negatives, neg, sizeof(int32_t) * cont);
Cuda_NewRule( pred );
return YAP_Unify(YAP_ARG4, YAP_MkIntTerm((YAP_Int)pred));
}

View File

@@ -180,7 +180,7 @@ void postgresRead(PGconn **ret, vector<gpunode> *L, int *inpquery, char *names,
{
numt = (strlen(tok) + 1) * sizeof(char);
qrs[x] = (char *)malloc(numt);
memcpy(qrs[x], tok, numt);
memmove(qrs[x], tok, numt);
}
x += 2;
}
@@ -264,7 +264,7 @@ void postgresRead(PGconn **ret, vector<gpunode> *L, int *inpquery, char *names,
L->at(z).address_host_table = mat;
numc = (strlen(tok) + 1) * sizeof(char);
L->at(z).predname = (char *)malloc(numc);
memcpy(L->at(z).predname, tok, numc);
memmove(L->at(z).predname, tok, numc);
PQclear(pgr);
tok = strtok(NULL, " ");
z++;

View File

@@ -114,7 +114,7 @@ void movebpreds(InputIterator rules, InputIterator end)
subs = rules->rule_names[x+1] - rules->rule_names[x];
if(rules->address_host_table[rules->rule_names[x]] > 0)
{
memcpy(rest + cont, rules->address_host_table + rules->rule_names[x], subs * sizeof(int));
memmove(rest + cont, rules->address_host_table + rules->rule_names[x], subs * sizeof(int));
cont += subs;
}
else
@@ -123,17 +123,17 @@ void movebpreds(InputIterator rules, InputIterator end)
subs--;
if(rules->address_host_table[pos] > 0 && rules->address_host_table[pos+1] > 0)
{
memcpy(move2 + cont3, rules->address_host_table + rules->rule_names[x], subs * sizeof(int));
memmove(move2 + cont3, rules->address_host_table + rules->rule_names[x], subs * sizeof(int));
cont3 += subs;
}
else
{
memcpy(move + cont2, rules->address_host_table + rules->rule_names[x], subs * sizeof(int));
memmove(move + cont2, rules->address_host_table + rules->rule_names[x], subs * sizeof(int));
cont2 += subs;
}
}
}
memcpy(rules->address_host_table, rest, cont * sizeof(int));
memmove(rules->address_host_table, rest, cont * sizeof(int));
pos = 1;
for(x = 1; x <= total; x++)
@@ -178,7 +178,7 @@ void movebpreds(InputIterator rules, InputIterator end)
pos += 2;
cont = closestpred(rules->rule_names, rules->num_rows, p1);
memcpy(rules->preds[cont] + rules->numpreds[cont].x, move + cont2, total);
memmove(rules->preds[cont] + rules->numpreds[cont].x, move + cont2, total);
rules->numpreds[cont].x += 3;
cont2 += 3;
}
@@ -212,19 +212,19 @@ void movebpreds(InputIterator rules, InputIterator end)
cont2 = closestpred(rules->rule_names, rules->num_rows, p2);
if(cont == cont2)
{
memcpy(rules->preds[cont] + rules->numpreds[cont].x, move2 + cont3, total);
memmove(rules->preds[cont] + rules->numpreds[cont].x, move2 + cont3, total);
rules->numpreds[cont].x += 3;
}
else
{
if(cont > cont2)
{
memcpy(rules->preds[cont] + rules->numpreds[cont].x + rules->numpreds[cont].y, move2 + cont3, total);
memmove(rules->preds[cont] + rules->numpreds[cont].x + rules->numpreds[cont].y, move2 + cont3, total);
rules->numpreds[cont].y += 3;
}
else
{
memcpy(rules->preds[cont2] + rules->numpreds[cont2].x + rules->numpreds[cont2].y, move2 + cont3, total);
memmove(rules->preds[cont2] + rules->numpreds[cont2].x + rules->numpreds[cont2].y, move2 + cont3, total);
rules->numpreds[cont2].y += 3;
}
}
@@ -345,7 +345,7 @@ void seleccion(InputIterator actual, InputIterator end)
sl = x - 1;
tam = cont * sizeof(int);
actual->select[sl] = (int *)malloc(tam);
memcpy(actual->select[sl], pv, tam);
memmove(actual->select[sl], pv, tam);
actual->numsel[sl] = cont;
}
actual++;
@@ -480,9 +480,9 @@ int2 columnsproject(int *first, int tam, int *rule, int ini, int fin, int sini,
temp = ret.y * sizeof(int);
free(*newrule);
*newrule = (int *)malloc(temp);
memcpy(*newrule, pv, temp);
memmove(*newrule, pv, temp);
*res = (int *)malloc(temp);
memcpy(*res, pv2, temp);
memmove(*res, pv2, temp);
return ret;
}
@@ -509,7 +509,7 @@ int wherejoin(int *tmprule, int tmplen, int *rule, int tam2, int **res)
temp = cont * sizeof(int);
*res = (int *)malloc(temp);
memcpy(*res, joins, temp);
memmove(*res, joins, temp);
return cont;
}
@@ -611,7 +611,7 @@ void proyeccion(InputIterator actual, InputIterator end)
temp = pos.x * sizeof(int);
actual->project[0] = (int *)malloc(temp);
memcpy(actual->project[0], fjoin, temp);
memmove(actual->project[0], fjoin, temp);
pos.y = pos.x;
actual->projpos[0] = pos;
actual++;
@@ -628,7 +628,7 @@ void proyeccion(InputIterator actual, InputIterator end)
pos.y = actual->rule_names[2] - actual->rule_names[1] - 2;
temp = pos.y * sizeof(int);
pv = (int *)malloc(temp);
memcpy(pv, actual->address_host_table + actual->rule_names[1] + 1, temp);
memmove(pv, actual->address_host_table + actual->rule_names[1] + 1, temp);
for(x = 2, y = 0; x <= numjoins; x++, y++)
{
@@ -676,7 +676,7 @@ void proyeccion(InputIterator actual, InputIterator end)
}
temp = pos.x * sizeof(int);
actual->project[numjoins] = (int *)malloc(temp);
memcpy(actual->project[numjoins], fjoin, temp);
memmove(actual->project[numjoins], fjoin, temp);
pos.y = pos.x;
actual->projpos[numjoins] = pos;
actual++;
@@ -701,7 +701,7 @@ void selfjoin(InputIterator actual, InputIterator end)
if(actual->address_host_table[pos] < 0)
continue;
tam = actual->rule_names[x+1] - actual->rule_names[x] - 2;
memcpy(rulecpy, actual->address_host_table + pos + 1, tam * sizeof(int));
memmove(rulecpy, actual->address_host_table + pos + 1, tam * sizeof(int));
cont = 0;
for(y = 0; y < tam; y++)
{
@@ -735,7 +735,7 @@ void selfjoin(InputIterator actual, InputIterator end)
temp = x - 1;
tam = cont * sizeof(int);
actual->selfjoin[temp] = (int *)malloc(tam);
memcpy(actual->selfjoin[temp], fjoin, tam);
memmove(actual->selfjoin[temp], fjoin, tam);
actual->numselfj[temp] = cont;
}
actual++;
@@ -772,7 +772,7 @@ void consulta(int *query, int qsize, int qname, rulenode *res)
size = cont1 * sizeof(int);
res->select = (int **)malloc(sizeof(int *));
res->select[0] = (int *)malloc(size);
memcpy(res->select[0], sel, size);
memmove(res->select[0], sel, size);
cont1 = 0;
}
if(cont2 > 0)
@@ -780,7 +780,7 @@ void consulta(int *query, int qsize, int qname, rulenode *res)
size = cont2 * sizeof(int);
res->project = (int **)malloc(sizeof(int *));
res->project[0] = (int *)malloc(size);
memcpy(res->project[0], pro, size);
memmove(res->project[0], pro, size);
}
for(x = 0; x < qsize; x++)
{
@@ -817,7 +817,7 @@ void consulta(int *query, int qsize, int qname, rulenode *res)
size = cont1 * sizeof(int);
res->selfjoin = (int **)malloc(sizeof(int *));
res->selfjoin[0] = (int *)malloc(size);
memcpy(res->selfjoin[0], sel, size);
memmove(res->selfjoin[0], sel, size);
}
}

View File

@@ -346,7 +346,7 @@ int cargarcpu(int name, int num_rows, int num_columns, int is_fact, int *address
}
for(; x < numcpu; x++)
{
memcpy(temp + inc, temp_storage[x].dev_address, temp_storage[x].size);
memmove(temp + inc, temp_storage[x].dev_address, temp_storage[x].size);
inc += temp_storage[x].size / sizeof(int);
free(temp_storage[x].dev_address);
}

View File

@@ -117,7 +117,7 @@ int selectproyectcpu(int *dop1, int rows, int cols, int head_size, int *select,
ptr = fres;
for(x = 0; x < NUM_T; x++)
{
memcpy(ptr, vec[x].data(), ini[x] * sizeof(int));
memmove(ptr, vec[x].data(), ini[x] * sizeof(int));
ptr += ini[x];
}
*ret = fres;
@@ -237,7 +237,7 @@ int selectproyectcpu2(int *dop1, int rows, int cols, int *select, int numselect,
ptr = lres;
for(x = 0; x < NUM_T; x++)
{
memcpy(ptr, lis[x], cont[x] * sizeof(int));
memmove(ptr, lis[x], cont[x] * sizeof(int));
ptr += cont[x];
}
if(list != NULL)
@@ -246,7 +246,7 @@ int selectproyectcpu2(int *dop1, int rows, int cols, int *select, int numselect,
ptr = fres;
for(x = 0; x < NUM_T; x++)
{
memcpy(ptr, vec[x], cont[x] * sizeof(int));
memmove(ptr, vec[x], cont[x] * sizeof(int));
ptr += cont[x];
}
*ret = fres;
@@ -373,7 +373,7 @@ int selectproyectcpu3(int *dop1, int rows, int cols, int *select, int numselect,
ptr = lres;
for(x = 0; x < NUM_T; x++)
{
memcpy(ptr, lis[x].data(), ini[x] * sizeof(int));
memmove(ptr, lis[x].data(), ini[x] * sizeof(int));
ptr += ini[x];
}
if(list != NULL)
@@ -382,7 +382,7 @@ int selectproyectcpu3(int *dop1, int rows, int cols, int *select, int numselect,
ptr = fres;
for(x = 0; x < NUM_T; x++)
{
memcpy(ptr, vec[x].data(), ini[x] * sizeof(int));
memmove(ptr, vec[x].data(), ini[x] * sizeof(int));
ptr += ini[x];
}
*ret = fres;

View File

@@ -25,7 +25,7 @@ int unircpu(int *res, int rows, int tipo, int **ret)
{
size = nrows * tipo * sizeof(int);
nres = (int *)malloc(size);
memcpy(nres, res, size);
memmove(nres, res, size);
free(*ret);
*ret = nres;
}*/
@@ -41,7 +41,7 @@ int unircpu(int *res, int rows, int tipo, int **ret)
{
size = nrows * tipo * sizeof(int);
nres = (int *)malloc(size);
memcpy(nres, res, size);
memmove(nres, res, size);
free(*ret);
*ret = nres;
}*/
@@ -57,7 +57,7 @@ int unircpu(int *res, int rows, int tipo, int **ret)
{
size = nrows * tipo * sizeof(int);
nres = (int *)malloc(size);
memcpy(nres, res, size);
memmove(nres, res, size);
free(*ret);
*ret = nres;
}*/