Staying on GPU while working on a series of equations
Posted: Wed Apr 17, 2019 11:59 am
I have several equations of motion (EOM) that I want to finish on the GPU before returning to the CPU.
// Block Matrix Inverse:
// A = M^-1*RHS
// A^T = |Arns Af| (separate rigid/nozzle/slosh from flex)
// RHS^T = |xrns xf|
// | A B |^-1 |xrns| = | (A - B*D^-1*C)^-1 -(A - B*D^-1*C)^-1*B*D^-1 | |xrns|
// | C D | | xf | | -D^-1*C*(A - B*D^-1*C)^-1 D^-1 + D^-1*C*(A - B*D^-1*C)^-1B*D^-1 | | xf |
// Arns = (A - B*D^-1*C)^-1*(Xrns - B*D^-1*Xf)
// Af = D^-1*Xf - D^-1*C*Arns
What documentation do I read for this? Can I finish all of these equations in sequence before returning to the CPU? I am PCIe constrained if I cannot perform these in sequence while staying on the GPU.
// Block Matrix Inverse:
// A = M^-1*RHS
// A^T = |Arns Af| (separate rigid/nozzle/slosh from flex)
// RHS^T = |xrns xf|
// | A B |^-1 |xrns| = | (A - B*D^-1*C)^-1 -(A - B*D^-1*C)^-1*B*D^-1 | |xrns|
// | C D | | xf | | -D^-1*C*(A - B*D^-1*C)^-1 D^-1 + D^-1*C*(A - B*D^-1*C)^-1B*D^-1 | | xf |
// Arns = (A - B*D^-1*C)^-1*(Xrns - B*D^-1*Xf)
// Af = D^-1*Xf - D^-1*C*Arns
What documentation do I read for this? Can I finish all of these equations in sequence before returning to the CPU? I am PCIe constrained if I cannot perform these in sequence while staying on the GPU.