1. A computer-implemented process comprising: receiving into memory computer program code including references to one or more libraries; accessing, with a computer processor, information about available hardware libraries; determining, with a computer processor, whether the references in the computer program code can be implemented using one or more of the available hardware libraries; and selecting and loading one or more of the available hardware libraries in a field programmable gate array for access by an application using the computer program code.