How do determine whether Linux board is using hardware FPU or not?

In the ARM world from ARMv4 to ARMv7 floating-point support is called VFP, and hardware support for it appears in the Features line of /proc/cpuinfo or in the VFP support log message printed by the kernel while booting. (In ARMv8 it's just "FP".)

In /proc/cpuinfo on an Allwinner A20 this gives:

Features    : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 

(see the various vfp features) and in the boot log:

VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 4

If VFP isn't fully supported, the kernel will instead log

VFP support v0.3: not present


VFP support v0.3: no double precision support

As to whether your Python interpreter is capable of using this, it appears to depend mainly on the architecture of your ARM Linux distribution. If I understand things correctly, basic Debian armel won't use the FPU, Debian armhf (and Raspbian armhf) will; the older Debian arm variant used FPU instructions, but these were emulated if the hardware didn't support them. On armel you can install kernels or C libraries with FPU support (although no such C library appears to be available in the Debian archives).