65 | | It's often useful to build an executable that can support specific instructions for the vfp or neon instructions. You can do this by selectively compiling using the above options, into separate libraries, and use C++ namespaces to separate similar function calls. Refer to the boinc/client/Makefile.am and client/whetstone.cpp, and client/cs_benchmark.h files for an example of how to do this. |
| 65 | It's often useful to build a single executable that can support the vfp or neon libraries & instructions, and then use the BOINC APP_INIT_DATA and HOST_INFO structures to find the capabilities of the host and call the appropriate optimized routines (member variable 'p_features' e.g. strstr(aid.host_info.p_features, " neon "). |
| 66 | |
| 67 | You can do this by selectively compiling using the above options, into separate small libraries that you link into the single executable, and use C++ namespaces to separate similar function calls. Refer to the boinc/client/Makefile.am and client/whetstone.cpp, and client/cs_benchmark.cpp files for an example of how to do this. |