How are floating point operations handled on NVIDIA Jetson TK1?

How are floating point operations handled on NVIDIA Jetson TK1. Does it use hardware FPU to deal with the floating point operations or any other way?

It does use hardware. Software could still be programmed to do the work without dedicated floating point hardware. When you see a cross compiler for ARM it has a name such as this:


The “gnueabihf” is a calling convention, version E; the “hf” says to use hardware floating point (without this cross compiled software would NOT use hardware floating point).

There are other factors as well, since one could use the NEON instruction set on this CPU, but whoever wrote the software would have to have written it to take advantage of this (or else it would have to use a library which was written to use NEON). Add to this the possibility of CUDA apps using GPU…but a lot would have to be arranged to use this.

So if the cross compiler doesnt not support hardware floating point by default, can it be enabled by specifying the tag -mfloat-abi=hard, while compiling?

I believe the cross compiler would have to support that flag. If the compiler is designed without hard float adding a flag won’t do anything.