Lines Matching refs:opt

55 …, BS, EQ)(PetscSFLink link, PetscInt count, PetscInt start, PetscSFPackOpt opt, const PetscInt *id…
64 else if (opt) { /* has optimizations available */ p2 = p; \
65 for (r = 0; r < opt->n; r++) { \
66 u2 = u + opt->start[r] * MBS; \
67 X = opt->X[r]; \
68 Y = opt->Y[r]; \
69 for (k = 0; k < opt->dz[r]; k++) \
70 for (j = 0; j < opt->dy[r]; j++) { \
71 PetscCall(PetscArraycpy(p2, u2 + (X * Y * k + X * j) * MBS, opt->dx[r] * MBS)); \
72 p2 += opt->dx[r] * MBS; \
96 …, BS, EQ)(PetscSFLink link, PetscInt count, PetscInt start, PetscSFPackOpt opt, const PetscInt *id…
107 } else if (opt) { /* has optimizations available */ \
108 for (r = 0; r < opt->n; r++) { \
109 u2 = u + opt->start[r] * MBS; \
110 X = opt->X[r]; \
111 Y = opt->Y[r]; \
112 for (k = 0; k < opt->dz[r]; k++) \
113 for (j = 0; j < opt->dy[r]; j++) { \
114 PetscCall(PetscArraycpy(u2 + (X * Y * k + X * j) * MBS, p, opt->dx[r] * MBS)); \
115 p += opt->dx[r] * MBS; \
137 …, BS, EQ)(PetscSFLink link, PetscInt count, PetscInt start, PetscSFPackOpt opt, const PetscInt *id…
150 } else if (opt) { /* idx[] has patterns */ \
151 for (r = 0; r < opt->n; r++) { \
152 u2 = u + opt->start[r] * MBS; \
153 X = opt->X[r]; \
154 Y = opt->Y[r]; \
155 for (k = 0; k < opt->dz[r]; k++) \
156 for (j = 0; j < opt->dy[r]; j++) { \
157 … for (i = 0; i < opt->dx[r] * MBS; i++) OpApply(Op, u2[(X * Y * k + X * j) * MBS + i], p[i]); \
158 p += opt->dx[r] * MBS; \
170 …, BS, EQ)(PetscSFLink link, PetscInt count, PetscInt start, PetscSFPackOpt opt, const PetscInt *id…
924 …PetscSFPackOpt opt in PetscSFLinkPackRootData_Private() local
929 …PetscCall(PetscSFLinkGetRootPackOptAndIndices(sf, link, rootmtype, scope, &count, &start, &opt, &r… in PetscSFLinkPackRootData_Private()
931 …PetscCall((*Pack)(link, count, start, opt, rootindices, rootdata, link->rootbuf[scope][rootmtype])… in PetscSFLinkPackRootData_Private()
942 …PetscSFPackOpt opt in PetscSFLinkPackLeafData_Private() local
947 …PetscCall(PetscSFLinkGetLeafPackOptAndIndices(sf, link, leafmtype, scope, &count, &start, &opt, &l… in PetscSFLinkPackLeafData_Private()
949 …PetscCall((*Pack)(link, count, start, opt, leafindices, leafdata, link->leafbuf[scope][leafmtype])… in PetscSFLinkPackLeafData_Private()
989 …PetscSFPackOpt opt in PetscSFLinkUnpackRootData_Private() local
996 …tscSFLinkGetRootPackOptAndIndices(sf, link, rootmtype, scope, &count, &start, &opt, &rootindices)); in PetscSFLinkUnpackRootData_Private()
997 …PetscCall((*UnpackAndOp)(link, count, start, opt, rootindices, rootdata, link->rootbuf[scope][root… in PetscSFLinkUnpackRootData_Private()
999 …GetRootPackOptAndIndices(sf, link, PETSC_MEMTYPE_HOST, scope, &count, &start, &opt, &rootindices)); in PetscSFLinkUnpackRootData_Private()
1013 …PetscSFPackOpt opt in PetscSFLinkUnpackLeafData_Private() local
1019 …tscSFLinkGetLeafPackOptAndIndices(sf, link, leafmtype, scope, &count, &start, &opt, &leafindices)); in PetscSFLinkUnpackLeafData_Private()
1020 …PetscCall((*UnpackAndOp)(link, count, start, opt, leafindices, leafdata, link->leafbuf[scope][leaf… in PetscSFLinkUnpackLeafData_Private()
1022 …GetLeafPackOptAndIndices(sf, link, PETSC_MEMTYPE_HOST, scope, &count, &start, &opt, &leafindices)); in PetscSFLinkUnpackLeafData_Private()
1067 …PetscSFPackOpt opt in PetscSFLinkFetchAndOpRemote() local
1074 …GetRootPackOptAndIndices(sf, link, rootmtype, PETSCSF_REMOTE, &count, &start, &opt, &rootindices)); in PetscSFLinkFetchAndOpRemote()
1075 …PetscCall((*FetchAndOp)(link, count, start, opt, rootindices, rootdata, link->rootbuf[PETSCSF_REMO… in PetscSFLinkFetchAndOpRemote()
1182 PetscSFPackOpt opt; in PetscSFCreatePackOpt() local
1185 PetscCall(PetscMalloc1(1, &opt)); in PetscSFCreatePackOpt()
1186 PetscCall(PetscMalloc1(7 * n + 2, &opt->array)); in PetscSFCreatePackOpt()
1187 opt->n = opt->array[0] = n; in PetscSFCreatePackOpt()
1188 opt->offset = opt->array + 1; in PetscSFCreatePackOpt()
1189 opt->start = opt->array + n + 2; in PetscSFCreatePackOpt()
1190 opt->dx = opt->array + 2 * n + 2; in PetscSFCreatePackOpt()
1191 opt->dy = opt->array + 3 * n + 2; in PetscSFCreatePackOpt()
1192 opt->dz = opt->array + 4 * n + 2; in PetscSFCreatePackOpt()
1193 opt->X = opt->array + 5 * n + 2; in PetscSFCreatePackOpt()
1194 opt->Y = opt->array + 6 * n + 2; in PetscSFCreatePackOpt()
1245 opt->start[r] = start; in PetscSFCreatePackOpt()
1246 opt->dx[r] = dx; in PetscSFCreatePackOpt()
1247 opt->dy[r] = dy; in PetscSFCreatePackOpt()
1248 opt->dz[r] = dz; in PetscSFCreatePackOpt()
1249 opt->X[r] = X; in PetscSFCreatePackOpt()
1250 opt->Y[r] = Y; in PetscSFCreatePackOpt()
1256 PetscCall(PetscFree(opt->array)); in PetscSFCreatePackOpt()
1257 PetscCall(PetscFree(opt)); in PetscSFCreatePackOpt()
1260 opt->offset[0] = 0; in PetscSFCreatePackOpt()
1261 …for (r = 0; r < n; r++) opt->offset[r + 1] = opt->offset[r] + opt->dx[r] * opt->dy[r] * opt->dz[r]; in PetscSFCreatePackOpt()
1262 *out = opt; in PetscSFCreatePackOpt()
1269 PetscSFPackOpt opt = *out; in PetscSFDestroyPackOpt() local
1272 if (opt) { in PetscSFDestroyPackOpt()
1273 PetscCall(PetscSFFree(sf, mtype, opt->array)); in PetscSFDestroyPackOpt()
1274 PetscCall(PetscFree(opt)); in PetscSFDestroyPackOpt()