|
PSCF v1.4.0
|
Functions that perform element-wise vector operations on the GPU. More...
Functions | |
| void | Pscf::VecOp::eqVPair (Array< double > &a1, Array< double > &a2, Array< double > const &b) |
| Vector assignment in pairs, ax[i] = b[i], x = 1, 2. | |
| void | Pscf::VecOp::mulVVPair (Array< double > &a1, Array< double > &a2, Array< double > const &b1, Array< double > const &b2, Array< double > const &c) |
| Vector multiplication in pairs, ax[i] = bx[i] * s[i], x=1,2. | |
| void | Pscf::VecOp::mulEqVPair (Array< double > &a1, Array< double > &a2, Array< double > const &b) |
| In-place vector multiplication in pairs, ax[i] *= b[i], x=1,2. | |
| void | Pscf::VecOp::eqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector assignment, a[i] = b[i], (real). | |
| void | Pscf::VecOp::eqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector-vector assignment, a[i] = b[i], (real). | |
| void | Pscf::VecOp::eqV (Array< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector assignment, a[i] = b[i], (real, device to host). | |
| void | Pscf::VecOp::eqV (Array< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector-vector assignment, a[i] = b[i], (real, device to host). | |
| void | Pscf::VecOp::eqV (DeviceArray< cudaReal > &a, Array< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector assignment, a[i] = b[i], (real, host to device). | |
| void | Pscf::VecOp::eqV (DeviceArray< cudaReal > &a, Array< cudaReal > const &b) |
| Vector-vector assignment, a[i] = b[i], (real, host to device). | |
| void | Pscf::VecOp::eqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector assignment, a[i] = b[i], (complex). | |
| void | Pscf::VecOp::eqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b) |
| Vector-vector assignment, a[i] = b[i], (complex). | |
| void | Pscf::VecOp::eqS (DeviceArray< cudaReal > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector-scalar assignment, a[i] = b, (real). | |
| void | Pscf::VecOp::eqS (DeviceArray< cudaReal > &a, const cudaReal b) |
| Vector-scalar assignment, a[i] = b, (real). | |
| void | Pscf::VecOp::eqS (DeviceArray< cudaComplex > &a, const cudaComplex b, const int beginIdA, const int n) |
| Vector-scalar assignment, a[i] = b, (complex). | |
| void | Pscf::VecOp::eqS (DeviceArray< cudaComplex > &a, const cudaComplex b) |
| Vector-scalar assignment, a[i] = b, (complex). | |
| void | Pscf::VecOp::addVV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector addition, a[i] = b[i] + c[i], (real). | |
| void | Pscf::VecOp::addVV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaReal > const &c) |
| Vector-vector addition, a[i] = b[i] + c[i], (real). | |
| void | Pscf::VecOp::addVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaComplex > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector addition, a[i] = b[i] + c[i], (complex). | |
| void | Pscf::VecOp::addVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaComplex > const &c) |
| Vector-vector addition, a[i] = b[i] + c[i], (complex). | |
| void | Pscf::VecOp::addVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaComplex > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector addition, a[i] = b[i] + c[i] (mixed). | |
| void | Pscf::VecOp::addVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaComplex > const &c) |
| Vector-vector addition, a[i] = b[i] + c[i] (mixed). | |
| void | Pscf::VecOp::addVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector addition, a[i] = b[i] + c[i] (mixed). | |
| void | Pscf::VecOp::addVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaReal > const &c) |
| Vector-vector addition, a[i] = b[i] + c[i] (mixed). | |
| void | Pscf::VecOp::addVS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const cudaReal c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar addition, a[i] = b[i] + c (real). | |
| void | Pscf::VecOp::addVS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const cudaReal c) |
| Vector-scalar addition, a[i] = b[i] + c, (real). | |
| void | Pscf::VecOp::addVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaComplex c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar addition, a[i] = b[i] + c, (complex). | |
| void | Pscf::VecOp::addVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaComplex c) |
| Vector addition, a[i] = b[i] + c, (complex). | |
| void | Pscf::VecOp::addVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const cudaComplex c, const int beginIdA, const int beginIdB, const int n) |
| Vector addition, a[i] = b[i] + c (mixed). | |
| void | Pscf::VecOp::addVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const cudaComplex c) |
| Vector addition, a[i] = b[i] + c (mixed). | |
| void | Pscf::VecOp::addVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaReal c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar addition, a[i] = b[i] + c (mixed). | |
| void | Pscf::VecOp::addVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaReal c) |
| Vector-scalar addition, a[i] = b[i] + c (mixed). | |
| void | Pscf::VecOp::subVV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector subtraction, a[i] = b[i] - c[i], (real). | |
| void | Pscf::VecOp::subVV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaReal > const &c) |
| Vector-vector subtraction, a[i] = b[i] - c[i], (real). | |
| void | Pscf::VecOp::subVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaComplex > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector subtraction, a[i] = b[i] - c[i], (complex). | |
| void | Pscf::VecOp::subVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaComplex > const &c) |
| Vector-vector subtraction, a[i] = b[i] - c[i], (complex). | |
| void | Pscf::VecOp::subVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaComplex > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector subtraction, a[i] = b[i] - c[i] (mixed). | |
| void | Pscf::VecOp::subVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaComplex > const &c) |
| Vector-vector subtraction, a[i] = b[i] - c[i] (mixed). | |
| void | Pscf::VecOp::subVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector subtraction, a[i] = b[i] - c[i] (mixed, c = real). | |
| void | Pscf::VecOp::subVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaReal > const &c) |
| Vector-vector subtraction, a[i] = b[i] - c[i] (mixed, c = real). | |
| void | Pscf::VecOp::subVS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const cudaReal c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar subtraction, a[i] = b[i] - c, (real). | |
| void | Pscf::VecOp::subVS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const cudaReal c) |
| Vector-scalar subtraction, a[i] = b[i] - c, (real). | |
| void | Pscf::VecOp::subVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaComplex c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar subtraction, a[i] = b[i] - c, (complex). | |
| void | Pscf::VecOp::subVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaComplex c) |
| Vector-scalar subtraction, a[i] = b[i] - c, (complex). | |
| void | Pscf::VecOp::subVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const cudaComplex c, const int beginIdA, const int beginIdB, const int n) |
| Vector subtraction, a[i] = b[i] - c (mixed). | |
| void | Pscf::VecOp::subVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const cudaComplex c) |
| Vector subtraction, a[i] = b[i] - c (mixed). | |
| void | Pscf::VecOp::subVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaReal c, const int beginIdA, const int beginIdB, const int n) |
| Vector subtraction, a[i] = b[i] - c (mixed, c = real). | |
| void | Pscf::VecOp::subVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaReal c) |
| Vector subtraction, a[i] = b[i] - c (mixed, c = real). | |
| void | Pscf::VecOp::mulVV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector multiplication, a[i] = b[i] * c[i], (real). | |
| void | Pscf::VecOp::mulVV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaReal > const &c) |
| Vector-vector multiplication, a[i] = b[i] * c[i], (real). | |
| void | Pscf::VecOp::mulVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaComplex > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector multiplication, a[i] = b[i] * c[i], (complex). | |
| void | Pscf::VecOp::mulVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaComplex > const &c) |
| Vector-vector multiplication, a[i] = b[i] * c[i], (complex). | |
| void | Pscf::VecOp::mulVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaComplex > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector multiplication, a[i] = b[i] * c[i] (mixed). | |
| void | Pscf::VecOp::mulVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaComplex > const &c) |
| Vector-vector multiplication, a[i]=b[i]*c[i] (mixed). | |
| void | Pscf::VecOp::mulVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector multiplication, a[i]=b[i]*c[i] (mixed, c = real). | |
| void | Pscf::VecOp::mulVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaReal > const &c) |
| Vector-vector multiplication, a[i]=b[i]*c[i] (mixed). | |
| void | Pscf::VecOp::mulVS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const cudaReal c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar multiplication, a[i] = b[i] * c, (real). | |
| void | Pscf::VecOp::mulVS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const cudaReal c) |
| Vector-scalar multiplication, a[i] = b[i] * c, (real). | |
| void | Pscf::VecOp::mulVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaComplex c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar multiplication, a[i] = b[i] * c, (complex). | |
| void | Pscf::VecOp::mulVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaComplex c) |
| Vector-scalar multiplication, a[i] = b[i] * c, (complex). | |
| void | Pscf::VecOp::mulVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const cudaComplex c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar multiplication, a[i] = b[i] * c (mixed). | |
| void | Pscf::VecOp::mulVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const cudaComplex c) |
| Vector-scalar multiplication, a[i] = b[i] * c (mixed). | |
| void | Pscf::VecOp::mulVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaReal c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar multiplication, a[i] = b[i] * c (mixed). | |
| void | Pscf::VecOp::mulVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaReal c) |
| Vector-scalar multiplication, a[i] = b[i] * c (mixed). | |
| void | Pscf::VecOp::divVV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector division, a[i] = b[i] / c[i], (real). | |
| void | Pscf::VecOp::divVV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaReal > const &c) |
| Vector-vector division, a[i] = b[i] / c[i], (real). | |
| void | Pscf::VecOp::divVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector division, a[i] = b[i] / c[i] (mixed). | |
| void | Pscf::VecOp::divVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaReal > const &c) |
| Vector-vector division, a[i] = b[i] / c[i] (mixed). | |
| void | Pscf::VecOp::divVS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const cudaReal c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar division, a[i] = b[i] / c, (real). | |
| void | Pscf::VecOp::divVS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const cudaReal c) |
| Vector-scalar division, a[i] = b[i] / c, (real). | |
| void | Pscf::VecOp::divVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaReal c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar division, a[i] = b[i] / c (mixed, c real). | |
| void | Pscf::VecOp::divVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaReal c) |
| Vector-scalar division, a[i] = b[i] / c (mixed, c = real). | |
| void | Pscf::VecOp::divSV (DeviceArray< cudaReal > &a, const cudaReal b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdC, const int n) |
| Scalar-vector division, a[i] = b / c[i], (real). | |
| void | Pscf::VecOp::divSV (DeviceArray< cudaReal > &a, const cudaReal b, DeviceArray< cudaReal > const &c) |
| Scalar-vector division, a[i] = b / c[i], (real). | |
| void | Pscf::VecOp::addEqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector in-place addition, a[i] += b[i], (real). | |
| void | Pscf::VecOp::addEqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector-vector in-place addition, a[i] += b[i] (real). | |
| void | Pscf::VecOp::addEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector in-place addition, a[i] += b[i] (complex). | |
| void | Pscf::VecOp::addEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b) |
| Vector-vector in-place addition, a[i] += b[i] (complex). | |
| void | Pscf::VecOp::addEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector in-place addition, a[i] += b[i] (mixed). | |
| void | Pscf::VecOp::addEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b) |
| Vector-vector in-place addition, a[i] += b[i] (mixed). | |
| void | Pscf::VecOp::addEqS (DeviceArray< cudaReal > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector-scalar in-place addition, a[i] += b, (real). | |
| void | Pscf::VecOp::addEqS (DeviceArray< cudaReal > &a, const cudaReal b) |
| Vector-scalar in-place addition, a[i] += b, (real). | |
| void | Pscf::VecOp::addEqS (DeviceArray< cudaComplex > &a, const cudaComplex b, const int beginIdA, const int n) |
| Vector-scalar in-place addition, a[i] += b, (complex). | |
| void | Pscf::VecOp::addEqS (DeviceArray< cudaComplex > &a, const cudaComplex b) |
| Vector-scalar in-place addition, a[i] += b, (complex). | |
| void | Pscf::VecOp::addEqS (DeviceArray< cudaComplex > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector-scalar in-place addition, a[i] += b (mixed). | |
| void | Pscf::VecOp::addEqS (DeviceArray< cudaComplex > &a, const cudaReal b) |
| Vector-scalar in-place addition, a[i] += b (mixed). | |
| void | Pscf::VecOp::subEqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector in-place subtraction, a[i] -= b[i], (real). | |
| void | Pscf::VecOp::subEqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector in-place subtraction, a[i] -= b[i], (real). | |
| void | Pscf::VecOp::subEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector in-place subtraction, a[i] -= b[i], (complex). | |
| void | Pscf::VecOp::subEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b) |
| Vector in-place subtraction, a[i] -= b[i], (complex). | |
| void | Pscf::VecOp::subEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector in-place subtraction, a[i]-=b[i] (mixed). | |
| void | Pscf::VecOp::subEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b) |
| Vector in-place subtraction, a[i]-=b[i] (mixed). | |
| void | Pscf::VecOp::subEqS (DeviceArray< cudaReal > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector in-place subtraction, a[i] -= b, (real). | |
| void | Pscf::VecOp::subEqS (DeviceArray< cudaReal > &a, const cudaReal b) |
| Vector in-place subtraction, a[i] -= b, (real). | |
| void | Pscf::VecOp::subEqS (DeviceArray< cudaComplex > &a, const cudaComplex b, const int beginIdA, const int n) |
| Vector in-place subtraction, a[i] -= b, (complex). | |
| void | Pscf::VecOp::subEqS (DeviceArray< cudaComplex > &a, const cudaComplex b) |
| Vector in-place subtraction, a[i] -= b, (complex). | |
| void | Pscf::VecOp::subEqS (DeviceArray< cudaComplex > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector-scalar in-place subtraction, a[i] -= b (mixed). | |
| void | Pscf::VecOp::subEqS (DeviceArray< cudaComplex > &a, const cudaReal b) |
| Vector-scalar in-place subtraction, a[i] -= b (mixed). | |
| void | Pscf::VecOp::mulEqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector in-place multiplication, a[i] *= b[i], (real). | |
| void | Pscf::VecOp::mulEqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector-vector in-place multiplication, a[i] *= b[i], (real). | |
| void | Pscf::VecOp::mulEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector in-place multiplication, a[i] *= b[i], (complex). | |
| void | Pscf::VecOp::mulEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b) |
| Vector-vector in-place multiplication, a[i] *= b[i], (complex). | |
| void | Pscf::VecOp::mulEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector in-place multiplication, a[i]*=b[i] (mixed). | |
| void | Pscf::VecOp::mulEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b) |
| Vector-vector in-place multiplication, a[i] *= b[i] (mixed). | |
| void | Pscf::VecOp::mulEqS (DeviceArray< cudaReal > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector-scalar in-place multiplication, a[i] *= b, (real). | |
| void | Pscf::VecOp::mulEqS (DeviceArray< cudaReal > &a, const cudaReal b) |
| Vector-scalar in-place multiplication, a[i] *= b, (real). | |
| void | Pscf::VecOp::mulEqS (DeviceArray< cudaComplex > &a, const cudaComplex b, const int beginIdA, const int n) |
| Vector-scalar in-place multiplication, a[i] *= b, (complex). | |
| void | Pscf::VecOp::mulEqS (DeviceArray< cudaComplex > &a, const cudaComplex b) |
| Vector-scalar in-place multiplication, a[i] *= b, (complex). | |
| void | Pscf::VecOp::mulEqS (DeviceArray< cudaComplex > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector-scalar in-place multiplication, a[i]*=b (mixed). | |
| void | Pscf::VecOp::mulEqS (DeviceArray< cudaComplex > &a, const cudaReal b) |
| Vector-scalar in-place multiplication, a[i]*=b (mixed). | |
| void | Pscf::VecOp::divEqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector in-place division, a[i] /= b[i], (real). | |
| void | Pscf::VecOp::divEqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector-vector in-place division, a[i] /= b[i], (real). | |
| void | Pscf::VecOp::divEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector in-place division, a[i] /= b[i] (mixed). | |
| void | Pscf::VecOp::divEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b) |
| Vector-vector in-place division, a[i] /= b[i] (mixed). | |
| void | Pscf::VecOp::divEqS (DeviceArray< cudaReal > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector-scalar in-place division, a[i] /= b, (real). | |
| void | Pscf::VecOp::divEqS (DeviceArray< cudaReal > &a, const cudaReal b) |
| Vector-scalar in-place division, a[i] /= b, (real). | |
| void | Pscf::VecOp::divEqS (DeviceArray< cudaComplex > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector-scalar in-place division, a[i] /= b (mixed). | |
| void | Pscf::VecOp::divEqS (DeviceArray< cudaComplex > &a, const cudaReal b) |
| Vector-scalar in-place division, a[i] /= b (mixed). | |
| void | Pscf::VecOp::expV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector exponentiation, a[i] = exp(b[i]), (real). | |
| void | Pscf::VecOp::expV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector exponentiation, a[i] = exp(b[i]), (real). | |
| void | Pscf::VecOp::expV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector exponentiation, a[i] = exp(b[i]), (complex). | |
| void | Pscf::VecOp::expV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b) |
| Vector exponentiation, a[i] = exp(b[i]), (complex). | |
| void | Pscf::VecOp::sqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector square, a[i] = b[i]*b[i], (real). | |
| void | Pscf::VecOp::sqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector square, a[i] = b[i]*b[i], (real). | |
| void | Pscf::VecOp::sqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector square, a[i] = b[i]*b[i], (complex). | |
| void | Pscf::VecOp::sqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b) |
| Vector square, a[i] = b[i]*b[i], (complex). | |
| void | Pscf::VecOp::absV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector absolute magnitude, a[i] = abs(b[i]) (real). | |
| void | Pscf::VecOp::absV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector absolute magnitude, a[i] = abs(b[i]) (real). | |
| void | Pscf::VecOp::sqAbsV (DeviceArray< cudaReal > &a, DeviceArray< cudaComplex > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector squared absolute magnitude, a[i] = |b[i]|^2 (complex). | |
| void | Pscf::VecOp::sqAbsV (DeviceArray< cudaReal > &a, DeviceArray< cudaComplex > const &b) |
| Vector absolute magnitude squared, a[i] = |b[i]|^2 (complex). | |
| void | Pscf::VecOp::addVcVc (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b1, cudaReal const c1, DeviceArray< cudaReal > const &b2, cudaReal const c2) |
| Add two scaled vectors, a[i] = b1[i]*c1 + b2[i]*c2 (real). | |
| void | Pscf::VecOp::addVcS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, cudaReal const c, cudaReal const s) |
| Add a scaled vector and a scalar, a[i] = b[i]*c + s (real). | |
| void | Pscf::VecOp::addEqVc (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, cudaReal const c) |
| Add a scaled vector in-place, a[i] += b[i] * c (real). | |
| void | Pscf::VecOp::addVcVcVc (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b1, cudaReal const c1, DeviceArray< cudaReal > const &b2, cudaReal const c2, DeviceArray< cudaReal > const &b3, cudaReal const c3) |
| Add 3 scaled vectors, a[i] = b1[i]*c1 + b2[i]*c2 + b3[i]*c3 (real). | |
| void | Pscf::VecOp::addVcVcS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b1, cudaReal const c1, DeviceArray< cudaReal > const &b2, cudaReal const c2, cudaReal const s) |
| Add 2 scaled vectors + scalar, a[i] = b1[i]*c1 + b2[i]*c2 + s (real). | |
| void | Pscf::VecOp::divEqVc (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, cudaReal const c) |
| Vector division in-place w/ coeff., a[i] /= (b[i] * c). | |
| void | Pscf::VecOp::expVc (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, cudaReal const c) |
| Vector exponentiation w/ coefficient, a[i] = exp(b[i]*c). | |
| void | Pscf::VecOp::eqVPair (DeviceArray< cudaReal > &a1, DeviceArray< cudaReal > &a2, DeviceArray< cudaReal > const &s) |
| Vector assignment in pairs, ax[i] = b[i], x = 1, 2 (real). | |
| void | Pscf::VecOp::mulVVPair (DeviceArray< cudaReal > &a1, DeviceArray< cudaReal > &a2, DeviceArray< cudaReal > const &b1, DeviceArray< cudaReal > const &b2, DeviceArray< cudaReal > const &s) |
| Vector multiplication in pairs, ax[i] = bx[i] * s[i], x=1,2 (real). | |
| void | Pscf::VecOp::mulEqVPair (DeviceArray< cudaReal > &a1, DeviceArray< cudaReal > &a2, DeviceArray< cudaReal > const &s) |
| In-place vector multiplication in pairs, ax[i] *= s[i], x=1,2 (real). | |
| void | Pscf::VecOp::addVMany (DeviceArray< cudaReal > &a, DArray< DeviceArray< cudaReal > > const &vecs) |
| Add an arbitrary number of vectors pointwise (real). | |
| void | Pscf::VecOp::addVMany (DeviceArray< cudaReal > &a, DArray< DeviceArray< cudaReal > const * > const &vecs) |
| Add an arbitrary number of vectors pointwise (real). | |
| void | Pscf::VecOp::mulVMany (DeviceArray< cudaReal > &a, DArray< DeviceArray< cudaReal > > const &vecs) |
| Multiply an undefined number of vectors pointwise (real). | |
| void | Pscf::VecOp::mulVMany (DeviceArray< cudaReal > &a, DArray< DeviceArray< cudaReal > const * > const &vecs) |
| Multiply an undefined number of vectors pointwise. | |
| void | Pscf::VecOp::sqSqAbsV (DeviceArray< cudaReal > &a, DeviceArray< cudaComplex > const &b) |
| Fourth power of magnitude, a[i] = |b[i]|^4 (complex). | |
Functions that perform element-wise vector operations on the GPU.
The functions declared in this header operate on DeviceArray objects with elements of type cudaReal or cudaComplex. The operations that are performed by these functions include assignment, addition, subtraction, multiplication, division, exponentiation, square and absolute magnitude. Function names, correspondingly, begin with "eq", "add", "sub", "mul", "div", "exp", "sq" and "abs" to indicate the operation being performed. Functions that perform in-place arithmetic assignment operations, which are analogous to those performed using the +=, -=, *=, and /= C/C++ operators, have names that begin with "addEq", "subEq", "mulEq", and "divEq".
These functions are overloaded to perform their respective operations on any combination of cudaReal and cudaComplex input arrays, except those that would result in division by a complex number.
The output (the LHS of the vector operation) is always the first parameter passed to the function. The input argument(s) (on the RHS of the vector operation) may be vectors or scalars. If an argument is a vector (scalar), the function name will contain a V (S). For example, addVV(A,B,C) implements the vector-vector addition operation A[i] = B[i] + C[i], while addVS(A,B,c) implements vector-scalar addition A[i] = B[i] + c, in which c is a scalar that is added to every element of array B. In commutative binary operations involving a vector and a scalar, the vector is listed first. So, for example, addVS exists, but addSV does not.
Two wrapper functions are provided for each vector operation:
Additional functions that perform multiple operations within a single kernel are defined in VecOpMisc. This collection is not comprehensive and is added to as-needed during the development of this software. VecOpMisc.h is included at the end of VecOp.h so that any code that includes VecOp.h will also include VecOpMisc.h.
The functions declared in this file are wrappers for CUDA kernels that perform the actual parallel vector operations. The underlying CUDA kernels are only intended to be called through their wrappers. To enforce this, kernels are defined in an anonymous namespace in the file VecOp.cu, and are thus only accessible for use within that source file.
Vector assignment in pairs, ax[i] = b[i], x = 1, 2.
| a1 | real array 1 (LHS) |
| a2 | real array 2 (LHS) |
| b | shared real array to be assigned to both a1 and a2 |
Definition at line 446 of file VecOp.cpp.
References Util::Array< Data >::capacity(), and UTIL_CHECK.
| void Pscf::VecOp::mulVVPair | ( | Array< double > & | a1, |
| Array< double > & | a2, | ||
| Array< double > const & | b1, | ||
| Array< double > const & | b2, | ||
| Array< double > const & | c ) |
Vector multiplication in pairs, ax[i] = bx[i] * s[i], x=1,2.
| a1 | real array 1 (LHS) |
| a2 | real array 2 (LHS) |
| b1 | real array 1 (RHS) |
| b2 | real array 2 (RHS) |
| c | shared real array to multiply both b1 and b2 |
Definition at line 463 of file VecOp.cpp.
References Util::Array< Data >::capacity(), and UTIL_CHECK.
Referenced by Pscf::Rpg::Block< D >::stepThread().
| void Pscf::VecOp::mulEqVPair | ( | Array< double > & | a1, |
| Array< double > & | a2, | ||
| Array< double > const & | b ) |
In-place vector multiplication in pairs, ax[i] *= b[i], x=1,2.
| a1 | real array 1 (LHS) |
| a2 | real array 2 (LHS) |
| b | shared real array to multiply both a1 and a2 (RHS) |
Definition at line 484 of file VecOp.cpp.
References Util::Array< Data >::capacity(), and UTIL_CHECK.
Referenced by Pscf::Rpg::Block< D >::stepThread().
| void Pscf::VecOp::eqV | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-vector assignment, a[i] = b[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1231 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector assignment, a[i] = b[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
Definition at line 109 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and eqV().
| void Pscf::VecOp::eqV | ( | Array< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-vector assignment, a[i] = b[i], (real, device to host).
| a | real array (LHS) |
| b | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1260 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Util::Array< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Util::Array< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector assignment, a[i] = b[i], (real, device to host).
| a | real array (LHS) |
| b | real array (RHS) |
Definition at line 137 of file cuda/VecOp.h.
References Util::Array< Data >::capacity(), and eqV().
| void Pscf::VecOp::eqV | ( | DeviceArray< cudaReal > & | a, |
| Array< cudaReal > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-vector assignment, a[i] = b[i], (real, host to device).
| a | real array (LHS) |
| b | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1282 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Util::Array< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Util::Array< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector assignment, a[i] = b[i], (real, host to device).
| a | real array (LHS) |
| b | real array (RHS) |
Definition at line 165 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and eqV().
| void Pscf::VecOp::eqV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-vector assignment, a[i] = b[i], (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1304 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector assignment, a[i] = b[i], (complex).
| a | output array (LHS) |
| b | input array (RHS) |
Definition at line 193 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and eqV().
| void Pscf::VecOp::eqS | ( | DeviceArray< cudaReal > & | a, |
| const cudaReal | b, | ||
| const int | beginIdA, | ||
| const int | n ) |
Vector-scalar assignment, a[i] = b, (real).
| a | real array (LHS) |
| b | real scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| n | number of elements in the slice |
Definition at line 1348 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar assignment, a[i] = b, (real).
| a | real array (LHS) |
| b | real scalar (RHS) |
Definition at line 220 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and eqS().
| void Pscf::VecOp::eqS | ( | DeviceArray< cudaComplex > & | a, |
| const cudaComplex | b, | ||
| const int | beginIdA, | ||
| const int | n ) |
Vector-scalar assignment, a[i] = b, (complex).
| a | complex array (LHS) |
| b | complex scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| n | number of elements in the slice |
Definition at line 1366 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar assignment, a[i] = b, (complex).
| a | complex array (LHS) |
| b | complex scalar (RHS) |
Definition at line 246 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and eqS().
| void Pscf::VecOp::addVV | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| DeviceArray< cudaReal > const & | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | beginIdC, | ||
| const int | n ) |
Vector-vector addition, a[i] = b[i] + c[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
| c | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| beginIdC | index of first element in a slice of array c |
| n | number of elements in the slice |
Definition at line 1386 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector addition, a[i] = b[i] + c[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
| c | real array (RHS) |
Definition at line 280 of file cuda/VecOp.h.
References addVV(), and Pscf::DeviceArray< Data >::capacity().
| void Pscf::VecOp::addVV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| DeviceArray< cudaComplex > const & | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | beginIdC, | ||
| const int | n ) |
Vector-vector addition, a[i] = b[i] + c[i], (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | complex array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| beginIdC | index of first element in a slice of array c |
| n | number of elements in the slice |
Definition at line 1410 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector addition, a[i] = b[i] + c[i], (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | complex array (RHS) |
Definition at line 314 of file cuda/VecOp.h.
References addVV(), and Pscf::DeviceArray< Data >::capacity().
| void Pscf::VecOp::addVV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| DeviceArray< cudaComplex > const & | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | beginIdC, | ||
| const int | n ) |
Vector-vector addition, a[i] = b[i] + c[i] (mixed).
| a | complex array (LHS) |
| b | real array (RHS) |
| c | complex array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| beginIdC | index of first element in a slice of array c |
| n | number of elements in the slice |
Definition at line 1434 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector addition, a[i] = b[i] + c[i] (mixed).
| a | complex array (LHS) |
| b | real array (RHS) |
| c | complex array (RHS) |
Definition at line 348 of file cuda/VecOp.h.
References addVV(), and Pscf::DeviceArray< Data >::capacity().
| void Pscf::VecOp::addVV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| DeviceArray< cudaReal > const & | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | beginIdC, | ||
| const int | n ) |
Vector-vector addition, a[i] = b[i] + c[i] (mixed).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| beginIdC | index of first element in a slice of array c |
| n | number of elements in the slice |
Definition at line 1458 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector addition, a[i] = b[i] + c[i] (mixed).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | real array (RHS) |
Definition at line 382 of file cuda/VecOp.h.
References addVV(), and Pscf::DeviceArray< Data >::capacity().
| void Pscf::VecOp::addVS | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const cudaReal | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-scalar addition, a[i] = b[i] + c (real).
| a | real array (LHS) |
| b | real array (RHS) |
| c | real scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1482 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar addition, a[i] = b[i] + c, (real).
| a | real array (LHS) |
| b | real array (RHS) |
| c | real scalar (RHS) |
Definition at line 415 of file cuda/VecOp.h.
References addVS(), and Pscf::DeviceArray< Data >::capacity().
| void Pscf::VecOp::addVS | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| const cudaComplex | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-scalar addition, a[i] = b[i] + c, (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | complex scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1502 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector addition, a[i] = b[i] + c, (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | complex scalar (RHS) |
Definition at line 448 of file cuda/VecOp.h.
References addVS(), and Pscf::DeviceArray< Data >::capacity().
| void Pscf::VecOp::addVS | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const cudaComplex | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector addition, a[i] = b[i] + c (mixed).
| a | complex array (LHS) |
| b | real array (RHS) |
| c | complex scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1522 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector addition, a[i] = b[i] + c (mixed).
| a | complex array (LHS) |
| b | real array (RHS) |
| c | complex scalar (RHS) |
Definition at line 480 of file cuda/VecOp.h.
References addVS(), and Pscf::DeviceArray< Data >::capacity().
| void Pscf::VecOp::addVS | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| const cudaReal | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-scalar addition, a[i] = b[i] + c (mixed).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | real scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1542 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar addition, a[i] = b[i] + c (mixed).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | real scalar (RHS) |
Definition at line 512 of file cuda/VecOp.h.
References addVS(), and Pscf::DeviceArray< Data >::capacity().
| void Pscf::VecOp::subVV | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| DeviceArray< cudaReal > const & | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | beginIdC, | ||
| const int | n ) |
Vector-vector subtraction, a[i] = b[i] - c[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
| c | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| beginIdC | index of first element in a slice of array c |
| n | number of elements in the slice |
Definition at line 1562 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector subtraction, a[i] = b[i] - c[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
| c | real array (RHS) |
Definition at line 549 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and subVV().
| void Pscf::VecOp::subVV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| DeviceArray< cudaComplex > const & | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | beginIdC, | ||
| const int | n ) |
Vector-vector subtraction, a[i] = b[i] - c[i], (complex).
| a | output array (LHS) |
| b | input array (RHS) |
| c | input array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| beginIdC | index of first element in a slice of array c |
| n | number of elements in the slice |
Definition at line 1584 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector subtraction, a[i] = b[i] - c[i], (complex).
| a | output array (LHS) |
| b | input array (RHS) |
| c | input array (RHS) |
Definition at line 581 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and subVV().
| void Pscf::VecOp::subVV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| DeviceArray< cudaComplex > const & | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | beginIdC, | ||
| const int | n ) |
Vector-vector subtraction, a[i] = b[i] - c[i] (mixed).
| a | output array (LHS) |
| b | input array (RHS) |
| c | input array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| beginIdC | index of first element in a slice of array c |
| n | number of elements in the slice |
Definition at line 1606 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector subtraction, a[i] = b[i] - c[i] (mixed).
| a | complex array (LHS) |
| b | real array (RHS) |
| c | complex array (RHS) |
Definition at line 616 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and subVV().
| void Pscf::VecOp::subVV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| DeviceArray< cudaReal > const & | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | beginIdC, | ||
| const int | n ) |
Vector-vector subtraction, a[i] = b[i] - c[i] (mixed, c = real).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| beginIdC | index of first element in a slice of array c |
| n | number of elements in the slice |
Definition at line 1628 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector subtraction, a[i] = b[i] - c[i] (mixed, c = real).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | real array (RHS) |
Definition at line 650 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and subVV().
| void Pscf::VecOp::subVS | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const cudaReal | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-scalar subtraction, a[i] = b[i] - c, (real).
| a | real array (LHS) |
| b | real array (RHS) |
| c | real scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1650 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar subtraction, a[i] = b[i] - c, (real).
| a | real array (LHS) |
| b | real array (RHS) |
| c | real scalar (RHS) |
Definition at line 683 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and subVS().
| void Pscf::VecOp::subVS | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| const cudaComplex | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-scalar subtraction, a[i] = b[i] - c, (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | complex scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1671 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar subtraction, a[i] = b[i] - c, (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | complex scalar (RHS) |
Definition at line 715 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and subVS().
| void Pscf::VecOp::subVS | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const cudaComplex | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector subtraction, a[i] = b[i] - c (mixed).
| a | complex array (LHS) |
| b | real array (RHS) |
| c | complex scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1691 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector subtraction, a[i] = b[i] - c (mixed).
| a | complex array (LHS) |
| b | real array (RHS) |
| c | complex scalar (RHS) |
Definition at line 747 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and subVS().
| void Pscf::VecOp::subVS | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| const cudaReal | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector subtraction, a[i] = b[i] - c (mixed, c = real).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | real scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1710 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector subtraction, a[i] = b[i] - c (mixed, c = real).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | real scalar (RHS) |
Definition at line 779 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and subVS().
| void Pscf::VecOp::mulVV | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| DeviceArray< cudaReal > const & | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | beginIdC, | ||
| const int | n ) |
Vector-vector multiplication, a[i] = b[i] * c[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
| c | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| beginIdC | index of first element in a slice of array c |
| n | number of elements in the slice |
Definition at line 1730 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector multiplication, a[i] = b[i] * c[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
| c | real array (RHS) |
Definition at line 816 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and mulVV().
| void Pscf::VecOp::mulVV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| DeviceArray< cudaComplex > const & | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | beginIdC, | ||
| const int | n ) |
Vector-vector multiplication, a[i] = b[i] * c[i], (complex).
| a | output array (LHS) |
| b | input array (RHS) |
| c | input array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| beginIdC | index of first element in a slice of array c |
| n | number of elements in the slice |
Definition at line 1751 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector multiplication, a[i] = b[i] * c[i], (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | complex array (RHS) |
Definition at line 850 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and mulVV().
| void Pscf::VecOp::mulVV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| DeviceArray< cudaComplex > const & | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | beginIdC, | ||
| const int | n ) |
Vector-vector multiplication, a[i] = b[i] * c[i] (mixed).
| a | output array (LHS) |
| b | input array (RHS) |
| c | input array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| beginIdC | index of first element in a slice of array c |
| n | number of elements in the slice |
Definition at line 1773 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector multiplication, a[i]=b[i]*c[i] (mixed).
| a | output array (LHS) |
| b | input array (RHS) |
| c | input array (RHS) |
Definition at line 883 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and mulVV().
| void Pscf::VecOp::mulVV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| DeviceArray< cudaReal > const & | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | beginIdC, | ||
| const int | n ) |
Vector-vector multiplication, a[i]=b[i]*c[i] (mixed, c = real).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| beginIdC | index of first element in a slice of array c |
| n | number of elements in the slice |
Definition at line 1795 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector multiplication, a[i]=b[i]*c[i] (mixed).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | real array (RHS) |
Definition at line 917 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and mulVV().
| void Pscf::VecOp::mulVS | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const cudaReal | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-scalar multiplication, a[i] = b[i] * c, (real).
| a | real array (LHS) |
| b | real array (RHS) |
| c | real scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1817 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar multiplication, a[i] = b[i] * c, (real).
| a | real array (LHS) |
| b | real array (RHS) |
| c | real scalar (RHS) |
Definition at line 950 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and mulVS().
| void Pscf::VecOp::mulVS | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| const cudaComplex | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-scalar multiplication, a[i] = b[i] * c, (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | complex scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1838 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar multiplication, a[i] = b[i] * c, (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | complex scalar (RHS) |
Definition at line 982 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and mulVS().
| void Pscf::VecOp::mulVS | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const cudaComplex | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-scalar multiplication, a[i] = b[i] * c (mixed).
| a | complex array (LHS) |
| b | real array (RHS) |
| c | complex scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1858 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar multiplication, a[i] = b[i] * c (mixed).
| a | output array (LHS) |
| b | real array (RHS) |
| c | complex scalar (RHS) |
Definition at line 1014 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and mulVS().
| void Pscf::VecOp::mulVS | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| const cudaReal | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-scalar multiplication, a[i] = b[i] * c (mixed).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | real scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1877 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar multiplication, a[i] = b[i] * c (mixed).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | real scalar (RHS) |
Definition at line 1046 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and mulVS().
| void Pscf::VecOp::divVV | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| DeviceArray< cudaReal > const & | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | beginIdC, | ||
| const int | n ) |
Vector-vector division, a[i] = b[i] / c[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
| c | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| beginIdC | index of first element in a slice of array c |
| n | number of elements in the slice |
Definition at line 1897 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector division, a[i] = b[i] / c[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
| c | real array (RHS) |
Definition at line 1083 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and divVV().
| void Pscf::VecOp::divVV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| DeviceArray< cudaReal > const & | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | beginIdC, | ||
| const int | n ) |
Vector-vector division, a[i] = b[i] / c[i] (mixed).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| beginIdC | index of first element in a slice of array c |
| n | number of elements in the slice |
Definition at line 1919 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector division, a[i] = b[i] / c[i] (mixed).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | real array (RHS) |
Definition at line 1117 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and divVV().
| void Pscf::VecOp::divVS | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const cudaReal | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-scalar division, a[i] = b[i] / c, (real).
| a | real array (LHS) |
| b | real array (RHS) |
| c | real scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1943 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar division, a[i] = b[i] / c, (real).
| a | real array (LHS) |
| b | real array (RHS) |
| c | real scalar (RHS) |
Definition at line 1149 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and divVS().
| void Pscf::VecOp::divVS | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| const cudaReal | c, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-scalar division, a[i] = b[i] / c (mixed, c real).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | real scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 1966 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar division, a[i] = b[i] / c (mixed, c = real).
| a | complex array (LHS) |
| b | complex array (RHS) |
| c | real scalar (RHS) |
Definition at line 1181 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and divVS().
| void Pscf::VecOp::divSV | ( | DeviceArray< cudaReal > & | a, |
| const cudaReal | b, | ||
| DeviceArray< cudaReal > const & | c, | ||
| const int | beginIdA, | ||
| const int | beginIdC, | ||
| const int | n ) |
Scalar-vector division, a[i] = b / c[i], (real).
| a | real array (LHS) |
| b | real scalar (RHS) |
| c | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdC | index of first element in a slice of array c |
| n | number of elements in the slice |
Definition at line 1989 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Scalar-vector division, a[i] = b / c[i], (real).
| a | real array (LHS) |
| b | real scalar (RHS) |
| c | real array (RHS) |
Definition at line 1213 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and divSV().
| void Pscf::VecOp::addEqV | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector in-place addition, a[i] += b[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 2012 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector in-place addition, a[i] += b[i] (real).
| a | real array (LHS) |
| b | real array (RHS) |
Definition at line 1244 of file cuda/VecOp.h.
References addEqV(), and Pscf::DeviceArray< Data >::capacity().
| void Pscf::VecOp::addEqV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-vector in-place addition, a[i] += b[i] (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 2032 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector in-place addition, a[i] += b[i] (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
Definition at line 1272 of file cuda/VecOp.h.
References addEqV(), and Pscf::DeviceArray< Data >::capacity().
| void Pscf::VecOp::addEqV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-vector in-place addition, a[i] += b[i] (mixed).
| a | complex array (LHS) |
| b | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 2077 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector in-place addition, a[i] += b[i] (mixed).
| a | complex array (LHS) |
| b | real array (RHS) |
Definition at line 1300 of file cuda/VecOp.h.
References addEqV(), and Pscf::DeviceArray< Data >::capacity().
| void Pscf::VecOp::addEqS | ( | DeviceArray< cudaReal > & | a, |
| const cudaReal | b, | ||
| const int | beginIdA, | ||
| const int | n ) |
Vector-scalar in-place addition, a[i] += b, (real).
| a | real array (LHS) |
| b | real scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| n | number of elements in the slice |
Definition at line 2098 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar in-place addition, a[i] += b, (real).
| a | real array (LHS) |
| b | real scalar (RHS) |
Definition at line 1327 of file cuda/VecOp.h.
References addEqS(), and Pscf::DeviceArray< Data >::capacity().
| void Pscf::VecOp::addEqS | ( | DeviceArray< cudaComplex > & | a, |
| const cudaComplex | b, | ||
| const int | beginIdA, | ||
| const int | n ) |
Vector-scalar in-place addition, a[i] += b, (complex).
| a | output array (LHS) |
| b | input scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| n | number of elements in the slice |
Definition at line 2116 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar in-place addition, a[i] += b, (complex).
| a | output array (LHS) |
| b | input scalar (RHS) |
Definition at line 1353 of file cuda/VecOp.h.
References addEqS(), and Pscf::DeviceArray< Data >::capacity().
| void Pscf::VecOp::addEqS | ( | DeviceArray< cudaComplex > & | a, |
| const cudaReal | b, | ||
| const int | beginIdA, | ||
| const int | n ) |
Vector-scalar in-place addition, a[i] += b (mixed).
| a | complex array (LHS) |
| b | real scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| n | number of elements in the slice |
Definition at line 2134 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar in-place addition, a[i] += b (mixed).
| a | complex array (LHS) |
| b | real scalar (RHS) |
Definition at line 1379 of file cuda/VecOp.h.
References addEqS(), and Pscf::DeviceArray< Data >::capacity().
| void Pscf::VecOp::subEqV | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector in-place subtraction, a[i] -= b[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 2152 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector in-place subtraction, a[i] -= b[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
Definition at line 1409 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and subEqV().
| void Pscf::VecOp::subEqV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-vector in-place subtraction, a[i] -= b[i], (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 2172 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector in-place subtraction, a[i] -= b[i], (complex).
| a | output array (LHS) |
| b | input array (RHS) |
Definition at line 1437 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and subEqV().
| void Pscf::VecOp::subEqV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector in-place subtraction, a[i]-=b[i] (mixed).
| a | output array (LHS) |
| b | input array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 2192 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector in-place subtraction, a[i]-=b[i] (mixed).
| a | output array (LHS) |
| b | input array (RHS) |
Definition at line 1465 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and subEqV().
| void Pscf::VecOp::subEqS | ( | DeviceArray< cudaReal > & | a, |
| const cudaReal | b, | ||
| const int | beginIdA, | ||
| const int | n ) |
Vector in-place subtraction, a[i] -= b, (real).
| a | real array (LHS) |
| b | real scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| n | number of elements in the slice |
Definition at line 2212 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector in-place subtraction, a[i] -= b, (real).
| a | real array (LHS) |
| b | real scalar (RHS) |
Definition at line 1491 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and subEqS().
| void Pscf::VecOp::subEqS | ( | DeviceArray< cudaComplex > & | a, |
| const cudaComplex | b, | ||
| const int | beginIdA, | ||
| const int | n ) |
Vector in-place subtraction, a[i] -= b, (complex).
| a | complex array (LHS) |
| b | complex scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| n | number of elements in the slice |
Definition at line 2230 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector in-place subtraction, a[i] -= b, (complex).
| a | complex array (LHS) |
| b | complex scalar (RHS) |
Definition at line 1516 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and subEqS().
| void Pscf::VecOp::subEqS | ( | DeviceArray< cudaComplex > & | a, |
| const cudaReal | b, | ||
| const int | beginIdA, | ||
| const int | n ) |
Vector-scalar in-place subtraction, a[i] -= b (mixed).
| a | complex array (LHS) |
| b | real scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| n | number of elements in the slice |
Definition at line 2248 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar in-place subtraction, a[i] -= b (mixed).
| a | complex array (LHS) |
| b | real scalar (RHS) |
Definition at line 1542 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and subEqS().
| void Pscf::VecOp::mulEqV | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-vector in-place multiplication, a[i] *= b[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 2266 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector in-place multiplication, a[i] *= b[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
Definition at line 1572 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and mulEqV().
| void Pscf::VecOp::mulEqV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-vector in-place multiplication, a[i] *= b[i], (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 2284 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector in-place multiplication, a[i] *= b[i], (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
Definition at line 1600 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and mulEqV().
| void Pscf::VecOp::mulEqV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-vector in-place multiplication, a[i]*=b[i] (mixed).
| a | complex array (LHS) |
| b | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 2302 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector in-place multiplication, a[i] *= b[i] (mixed).
| a | complex array (LHS) |
| b | real array (RHS) |
Definition at line 1628 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and mulEqV().
| void Pscf::VecOp::mulEqS | ( | DeviceArray< cudaReal > & | a, |
| const cudaReal | b, | ||
| const int | beginIdA, | ||
| const int | n ) |
Vector-scalar in-place multiplication, a[i] *= b, (real).
| a | real array (LHS) |
| b | real scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| n | number of elements in the slice |
Definition at line 2320 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar in-place multiplication, a[i] *= b, (real).
| a | real array (LHS) |
| b | real scalar (RHS) |
Definition at line 1654 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and mulEqS().
| void Pscf::VecOp::mulEqS | ( | DeviceArray< cudaComplex > & | a, |
| const cudaComplex | b, | ||
| const int | beginIdA, | ||
| const int | n ) |
Vector-scalar in-place multiplication, a[i] *= b, (complex).
| a | complex array (LHS) |
| b | complex scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| n | number of elements in the slice |
Definition at line 2336 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar in-place multiplication, a[i] *= b, (complex).
| a | complex array (LHS) |
| b | complex scalar (RHS) |
Definition at line 1679 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and mulEqS().
| void Pscf::VecOp::mulEqS | ( | DeviceArray< cudaComplex > & | a, |
| const cudaReal | b, | ||
| const int | beginIdA, | ||
| const int | n ) |
Vector-scalar in-place multiplication, a[i]*=b (mixed).
| a | complex array (LHS) |
| b | real scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| n | number of elements in the slice |
Definition at line 2354 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar in-place multiplication, a[i]*=b (mixed).
| a | complex array (LHS) |
| b | real scalar (RHS) |
Definition at line 1705 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and mulEqS().
| void Pscf::VecOp::divEqV | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-vector in-place division, a[i] /= b[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 2374 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector in-place division, a[i] /= b[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
Definition at line 1735 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and divEqV().
| void Pscf::VecOp::divEqV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector-vector in-place division, a[i] /= b[i] (mixed).
| a | complex array (LHS) |
| b | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 2394 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-vector in-place division, a[i] /= b[i] (mixed).
| a | complex array (LHS) |
| b | real array (RHS) |
Definition at line 1763 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and divEqV().
| void Pscf::VecOp::divEqS | ( | DeviceArray< cudaReal > & | a, |
| const cudaReal | b, | ||
| const int | beginIdA, | ||
| const int | n ) |
Vector-scalar in-place division, a[i] /= b, (real).
| a | real array (LHS) |
| b | real scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| n | number of elements in the slice |
Definition at line 2414 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar in-place division, a[i] /= b, (real).
| a | real array (LHS) |
| b | real scalar (RHS) |
Definition at line 1790 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and divEqS().
| void Pscf::VecOp::divEqS | ( | DeviceArray< cudaComplex > & | a, |
| const cudaReal | b, | ||
| const int | beginIdA, | ||
| const int | n ) |
Vector-scalar in-place division, a[i] /= b (mixed).
| a | complex array (LHS) |
| b | real scalar (RHS) |
| beginIdA | index of first element in a slice of array a |
| n | number of elements in the slice |
Definition at line 2432 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector-scalar in-place division, a[i] /= b (mixed).
| a | complex array (LHS) |
| b | real scalar (RHS) |
Definition at line 1816 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and divEqS().
| void Pscf::VecOp::expV | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector exponentiation, a[i] = exp(b[i]), (real).
| a | real array (LHS) |
| b | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 2452 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector exponentiation, a[i] = exp(b[i]), (real).
| a | real array (LHS) |
| b | real array (RHS) |
Definition at line 1846 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and expV().
| void Pscf::VecOp::expV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector exponentiation, a[i] = exp(b[i]), (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 2472 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector exponentiation, a[i] = exp(b[i]), (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
Definition at line 1875 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and expV().
| void Pscf::VecOp::sqV | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector square, a[i] = b[i]*b[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 2494 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector square, a[i] = b[i]*b[i], (real).
| a | real array (LHS) |
| b | real array (RHS) |
Definition at line 1906 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and sqV().
| void Pscf::VecOp::sqV | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector square, a[i] = b[i]*b[i], (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | number of elements in the slice |
Definition at line 2515 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector square, a[i] = b[i]*b[i], (complex).
| a | complex array (LHS) |
| b | complex array (RHS) |
Definition at line 1935 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and sqV().
| void Pscf::VecOp::absV | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector absolute magnitude, a[i] = abs(b[i]) (real).
| a | real array (LHS) |
| b | real array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | size of arrays |
Definition at line 2538 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector absolute magnitude, a[i] = abs(b[i]) (real).
| a | real array (LHS) |
| b | real array (RHS) |
Definition at line 1966 of file cuda/VecOp.h.
References absV(), and Pscf::DeviceArray< Data >::capacity().
| void Pscf::VecOp::sqAbsV | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaComplex > const & | b, | ||
| const int | beginIdA, | ||
| const int | beginIdB, | ||
| const int | n ) |
Vector squared absolute magnitude, a[i] = |b[i]|^2 (complex).
| a | real array (LHS) |
| b | complex array (RHS) |
| beginIdA | index of first element in a slice of array a |
| beginIdB | index of first element in a slice of array b |
| n | size of arrays |
Definition at line 2559 of file VecOp.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
|
inline |
Vector absolute magnitude squared, a[i] = |b[i]|^2 (complex).
| a | real array (LHS) |
| b | conplex array (RHS) |
Definition at line 1995 of file cuda/VecOp.h.
References Pscf::DeviceArray< Data >::capacity(), and sqAbsV().
| void Pscf::VecOp::addVcVc | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b1, | ||
| cudaReal const | c1, | ||
| DeviceArray< cudaReal > const & | b2, | ||
| cudaReal const | c2 ) |
Add two scaled vectors, a[i] = b1[i]*c1 + b2[i]*c2 (real).
| a | real array (LHS) |
| b1 | real input array 1 (RHS) |
| c1 | real coefficent of b1 (RHS) |
| b2 | real input array 2 (RHS) |
| c2 | real coefficent of b2 (RHS) |
Definition at line 365 of file VecOpMisc.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
| void Pscf::VecOp::addVcS | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| cudaReal const | c, | ||
| cudaReal const | s ) |
Add a scaled vector and a scalar, a[i] = b[i]*c + s (real).
| a | real array (LHS) |
| b | real input array (RHS) |
| c | real coefficient of b (RHS) |
| s | real scalar summand (RHS) |
Definition at line 387 of file VecOpMisc.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
| void Pscf::VecOp::addEqVc | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| cudaReal const | c ) |
Add a scaled vector in-place, a[i] += b[i] * c (real).
| a | real output array (LHS) |
| b | real input array (RHS) |
| c | real scalar coefficient of b (RHS) |
Definition at line 457 of file VecOpMisc.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
| void Pscf::VecOp::addVcVcVc | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b1, | ||
| cudaReal const | c1, | ||
| DeviceArray< cudaReal > const & | b2, | ||
| cudaReal const | c2, | ||
| DeviceArray< cudaReal > const & | b3, | ||
| cudaReal const | c3 ) |
Add 3 scaled vectors, a[i] = b1[i]*c1 + b2[i]*c2 + b3[i]*c3 (real).
| a | real output array (LHS) |
| b1 | real input array 1 (RHS) |
| c1 | real coefficient of b1 (RHS) |
| b2 | real input array 2 (RHS) |
| c2 | real coefficient of b2 (RHS) |
| b3 | real input array 3 (RHS) |
| c3 | real coefficient of b3 (RHS) |
Definition at line 406 of file VecOpMisc.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
| void Pscf::VecOp::addVcVcS | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b1, | ||
| cudaReal const | c1, | ||
| DeviceArray< cudaReal > const & | b2, | ||
| cudaReal const | c2, | ||
| cudaReal const | s ) |
Add 2 scaled vectors + scalar, a[i] = b1[i]*c1 + b2[i]*c2 + s (real).
| a | real output array (LHS) |
| b1 | real input array 1 (RHS) |
| c1 | real coefficient of b1 (RHS) |
| b2 | real input array 2 (RHS) |
| c2 | real coefficient of b2 (RHS) |
| s | real scalar summand (RHS) |
Definition at line 431 of file VecOpMisc.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
| void Pscf::VecOp::divEqVc | ( | DeviceArray< cudaComplex > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| cudaReal const | c ) |
Vector division in-place w/ coeff., a[i] /= (b[i] * c).
| a | complex array (LHS) |
| b | real array (RHS) |
| c | input scalar (RHS) |
Definition at line 476 of file VecOpMisc.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
| void Pscf::VecOp::expVc | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaReal > const & | b, | ||
| cudaReal const | c ) |
Vector exponentiation w/ coefficient, a[i] = exp(b[i]*c).
| a | real array (LHS) |
| b | real array (RHS) |
| c | input scalar |
Definition at line 494 of file VecOpMisc.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
| void Pscf::VecOp::eqVPair | ( | DeviceArray< cudaReal > & | a1, |
| DeviceArray< cudaReal > & | a2, | ||
| DeviceArray< cudaReal > const & | s ) |
Vector assignment in pairs, ax[i] = b[i], x = 1, 2 (real).
| a1 | real array 1 (LHS) |
| a2 | real array 2 (LHS) |
| s | shared real array to be assigned to both a1 and a2 |
Definition at line 512 of file VecOpMisc.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
| void Pscf::VecOp::mulVVPair | ( | DeviceArray< cudaReal > & | a1, |
| DeviceArray< cudaReal > & | a2, | ||
| DeviceArray< cudaReal > const & | b1, | ||
| DeviceArray< cudaReal > const & | b2, | ||
| DeviceArray< cudaReal > const & | s ) |
Vector multiplication in pairs, ax[i] = bx[i] * s[i], x=1,2 (real).
| a1 | real array 1 (LHS) |
| a2 | real array 2 (LHS) |
| b1 | real array 1 (RHS) |
| b2 | real array 2 (RHS) |
| s | shared real array to be multiplied by both b1 and b2 |
Definition at line 532 of file VecOpMisc.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
| void Pscf::VecOp::mulEqVPair | ( | DeviceArray< cudaReal > & | a1, |
| DeviceArray< cudaReal > & | a2, | ||
| DeviceArray< cudaReal > const & | s ) |
In-place vector multiplication in pairs, ax[i] *= s[i], x=1,2 (real).
| a1 | real array 1 (LHS) |
| a2 | real array 2 (LHS) |
| s | shared real array to multiply both a1 and a2 (RHS) |
Definition at line 557 of file VecOpMisc.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
| void Pscf::VecOp::addVMany | ( | DeviceArray< cudaReal > & | a, |
| DArray< DeviceArray< cudaReal > > const & | vecs ) |
Add an arbitrary number of vectors pointwise (real).
The input array 'vecs' contains the arrays that will be added. The size of array vecs determines the number of vectors that will be added together.
| a | real array (LHS) |
| vecs | array of DeviceArrays to be added (RHS) |
Definition at line 577 of file VecOpMisc.cu.
References addVV(), Pscf::DeviceArray< Data >::cArray(), Util::Array< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
| void Pscf::VecOp::addVMany | ( | DeviceArray< cudaReal > & | a, |
| DArray< DeviceArray< cudaReal > const * > const & | vecs ) |
Add an arbitrary number of vectors pointwise (real).
The input array 'vecs' contains const pointers to each array that will be added together. The size of vecs determines the number of vectors that will be added together.
This version of addVMany is provided for cases in which one needs to add many arrays that are not already stored together in a DArray. The caller must simply assemble an array of pointers to all of the arrays that should be added, and then pass it to this method.
| a | real array (LHS) |
| vecs | array of pointers to DeviceArrays to be added |
Definition at line 610 of file VecOpMisc.cu.
References addVV(), Pscf::DeviceArray< Data >::cArray(), Util::Array< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
| void Pscf::VecOp::mulVMany | ( | DeviceArray< cudaReal > & | a, |
| DArray< DeviceArray< cudaReal > > const & | vecs ) |
Multiply an undefined number of vectors pointwise (real).
The input array 'vecs' contains the arrays that will be multiplied. The size of vecs determines the number of vectors that will be multiplied together.
| a | real array (LHS) |
| vecs | array of DeviceArrays to be multiplied (RHS) |
Definition at line 643 of file VecOpMisc.cu.
References Pscf::DeviceArray< Data >::cArray(), Util::Array< Data >::cArray(), mulVV(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
| void Pscf::VecOp::mulVMany | ( | DeviceArray< cudaReal > & | a, |
| DArray< DeviceArray< cudaReal > const * > const & | vecs ) |
Multiply an undefined number of vectors pointwise.
The input array 'vecs' contains const pointers to each array that will be multiplied together. The size of vecs determines the number of vectors that will ultimately be multiplied together pointwise.
This version of mulVMany is provided for cases in which one needs to multiply many arrays that are not already stored together in a DArray. The caller must simply assemble an array of pointers to all of the arrays that should be multiplied, and then pass it to this method.
| a | real array (LHS) |
| vecs | array of real arrays to be multiplied (RHS) |
Definition at line 676 of file VecOpMisc.cu.
References Pscf::DeviceArray< Data >::cArray(), Util::Array< Data >::cArray(), mulVV(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.
| void Pscf::VecOp::sqSqAbsV | ( | DeviceArray< cudaReal > & | a, |
| DeviceArray< cudaComplex > const & | b ) |
Fourth power of magnitude, a[i] = |b[i]|^4 (complex).
| a | real array (LHS) |
| b | complex array (RHS) |
Definition at line 709 of file VecOpMisc.cu.
References Pscf::DeviceArray< Data >::capacity(), Pscf::DeviceArray< Data >::cArray(), Pscf::ThreadArray::setThreadsLogical(), and UTIL_CHECK.