3
$\begingroup$

I am an undergraduate student majoring in computer science.

Recently, I am interested in the division operation, which is not directly supported by some architectures. While some architectures support division, the performance is not very good.

Is there a typical application in which division performance is critical?

$\endgroup$
  • 1
    $\begingroup$ Most often code would be limited by the speed with which instruction operands can be fetched from memory (hence caches, etc.) So whatever application you are looking for, it must be something limited only by instruction execution, so having very few or extremely regular memory accesses, and also having next to no delays due to instruction scheduling (few or very predictable branches). I'm not sure I know such an application myself (you're probably not interested in something trivial like drawing fractals whose iteration has a division in it), but those are pretty narrow restrictions. $\endgroup$ – Kirill Mar 18 '15 at 19:27
  • $\begingroup$ I could imagine that forming the explicit inverse of a small matrix (say, 3x3) contains as a significant part floating point divisions. $\endgroup$ – Wolfgang Bangerth Mar 20 '15 at 18:08
  • $\begingroup$ Molecular dynamics, in the computation of interactions inversely proportional to distance. $\endgroup$ – Jeff May 12 '15 at 2:49
2
$\begingroup$

Molecular dynamics, in the computation of interactions inversely proportional to distance. Other N-body codes may share this property, but it's often an explicit goal to minimize or eliminate explicit division for exactly the reason you've given.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.