modeproblem matrix parallel implementation to become default
Former-commit-id: ddf4ab3b83490de67034107b96272d725dde6a89
This commit is contained in:
parent
d1068419f4
commit
a712789386
|
@ -449,9 +449,9 @@ cdef class ScatteringSystem:
|
||||||
qpms_scatsys_build_modeproblem_matrix_irrep_packed_orbitorderR(&target_view[0][0], self.s, iri, k)
|
qpms_scatsys_build_modeproblem_matrix_irrep_packed_orbitorderR(&target_view[0][0], self.s, iri, k)
|
||||||
elif (version == 'pR'):
|
elif (version == 'pR'):
|
||||||
with nogil:
|
with nogil:
|
||||||
qpms_scatsys_build_modeproblem_matrix_irrep_packed_parallelR(&target_view[0][0], self.s, iri, k)
|
|
||||||
else:
|
|
||||||
qpms_scatsys_build_modeproblem_matrix_irrep_packed(&target_view[0][0], self.s, iri, k)
|
qpms_scatsys_build_modeproblem_matrix_irrep_packed(&target_view[0][0], self.s, iri, k)
|
||||||
|
else:
|
||||||
|
qpms_scatsys_build_modeproblem_matrix_irrep_packed_serial(&target_view[0][0], self.s, iri, k)
|
||||||
return target
|
return target
|
||||||
|
|
||||||
def translation_matrix_full(self, double k, J = QPMS_HANKEL_PLUS):
|
def translation_matrix_full(self, double k, J = QPMS_HANKEL_PLUS):
|
||||||
|
|
|
@ -532,7 +532,7 @@ cdef extern from "scatsystem.h":
|
||||||
const qpms_scatsys_t *ss, qpms_iri_t iri, cdouble k, qpms_bessel_t J)
|
const qpms_scatsys_t *ss, qpms_iri_t iri, cdouble k, qpms_bessel_t J)
|
||||||
cdouble *qpms_scatsys_build_modeproblem_matrix_irrep_packed_orbitorderR(
|
cdouble *qpms_scatsys_build_modeproblem_matrix_irrep_packed_orbitorderR(
|
||||||
cdouble *target, const qpms_scatsys_t *ss, qpms_iri_t iri, cdouble k)
|
cdouble *target, const qpms_scatsys_t *ss, qpms_iri_t iri, cdouble k)
|
||||||
cdouble *qpms_scatsys_build_modeproblem_matrix_irrep_packed_parallelR(
|
cdouble *qpms_scatsys_build_modeproblem_matrix_irrep_packed_serial(
|
||||||
cdouble *target, const qpms_scatsys_t *ss, qpms_iri_t iri, cdouble k) nogil
|
cdouble *target, const qpms_scatsys_t *ss, qpms_iri_t iri, cdouble k) nogil
|
||||||
cdouble *qpms_scatsys_incident_field_vector_full(cdouble *target_full,
|
cdouble *qpms_scatsys_incident_field_vector_full(cdouble *target_full,
|
||||||
const qpms_scatsys_t *ss, qpms_incfield_t field_at_point,
|
const qpms_scatsys_t *ss, qpms_incfield_t field_at_point,
|
||||||
|
|
|
@ -1063,7 +1063,8 @@ complex double *qpms_scatsys_build_modeproblem_matrix_full(
|
||||||
return target;
|
return target;
|
||||||
}
|
}
|
||||||
|
|
||||||
complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed(
|
// Serial reference implementation.
|
||||||
|
complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed_serial(
|
||||||
/// Target memory with capacity for ss->saecv_sizes[iri]**2 elements. If NULL, new will be allocated.
|
/// Target memory with capacity for ss->saecv_sizes[iri]**2 elements. If NULL, new will be allocated.
|
||||||
complex double *target_packed,
|
complex double *target_packed,
|
||||||
const qpms_scatsys_t *ss, qpms_iri_t iri,
|
const qpms_scatsys_t *ss, qpms_iri_t iri,
|
||||||
|
@ -1615,7 +1616,9 @@ complex double *qpms_scatsys_build_translation_matrix_e_irrep_packed(
|
||||||
return target_packed;
|
return target_packed;
|
||||||
}
|
}
|
||||||
|
|
||||||
complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed_parallelR(
|
|
||||||
|
// Parallel implementation, now default
|
||||||
|
complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed(
|
||||||
/// Target memory with capacity for ss->saecv_sizes[iri]**2 elements. If NULL, new will be allocated.
|
/// Target memory with capacity for ss->saecv_sizes[iri]**2 elements. If NULL, new will be allocated.
|
||||||
complex double *target_packed,
|
complex double *target_packed,
|
||||||
const qpms_scatsys_t *ss, qpms_iri_t iri,
|
const qpms_scatsys_t *ss, qpms_iri_t iri,
|
||||||
|
|
|
@ -286,8 +286,8 @@ complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed_orbitorderR(
|
||||||
const qpms_scatsys_t *ss, qpms_iri_t iri,
|
const qpms_scatsys_t *ss, qpms_iri_t iri,
|
||||||
complex double k ///< Wave number to use in the translation matrix.
|
complex double k ///< Wave number to use in the translation matrix.
|
||||||
);
|
);
|
||||||
/// Alternative implementation of qpms_scatsys_build_modeproblem_matrix_irrep_packed().
|
/// Alternative (serial reference) implementation of qpms_scatsys_build_modeproblem_matrix_irrep_packed().
|
||||||
complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed_orbitorder_parallelR(
|
complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed_orbitorder_serial(
|
||||||
/// Target memory with capacity for ss->fecv_size**2 elements. If NULL, new will be allocated.
|
/// Target memory with capacity for ss->fecv_size**2 elements. If NULL, new will be allocated.
|
||||||
complex double *target,
|
complex double *target,
|
||||||
const qpms_scatsys_t *ss, qpms_iri_t iri,
|
const qpms_scatsys_t *ss, qpms_iri_t iri,
|
||||||
|
|
Loading…
Reference in New Issue