StanfordAHA/lassen

Other "micro" ops for the PE?

Closed this issue · 6 comments

Halide requires the use of the following complex floating point operations:

div, rem, log, exp, pow, sqrt, sin, cos, tan, asin, acos, atan2, tanh

We currently have a bunch of microps that are required to do the floating point divide algorithm. They are as follows:

FGetMant
FAddIExp
FSubExp
FCnvExp2F
FGetFInt
FGetFFrac

Are these microps sufficient to be able to do similar algorithms for the rest of these complex operations?

@nikhilbhagdikar, Can you answer this or give me a timeline as to when you will figure this out?

div, rem, log, exp, pow, sqrt, sin, cos, tan have been tested. asin and acos should be similar to sin and cos in implementation. atan2 and tanh need to be worked on.

@nikhilbhagdikar, can you add all of these tests to tests in the lassen repo? You can add a testing directory called tests/test_fp where you can add a unit test for each of the complex ops.

These tests were checked in, but now need to be re-implemented in the new format requested by Ross. Ongoing.

Note to self(s), also see task list #98 under "Missing randomized Tests" -> "complex ops"

All these micro ops are in master