Efawin library helps applications on Windows to interact with Elastic Fabric Adapter hardware on AWS EC2. It provides the necessary functionality through an interface that is very close to infiniband verbs interface. At this time, this library is scoped to support the libfabric efa provider that is part of the Open Fabrics Interfaces (OFI). See the OFI website for more information on libfabric. Any other use of the library is not tested or supported. This library provides the necessary functionality to create and manipulate the queues associated with AWS Elastic Fabric Adapter. Majority of the library's functionality comes from rdmacore's efa provider. To allow compilation of the library on Windows, some helper/compat files have been copied from the OFI's libfabric. The Efa driver interaction files have been copied from a AWS fork of libfabric. In addition to these, the Infiniband header files from OpenIB are used to provide an interface to the library.
Features
- Efawin can be built from a git clone or a zip file downloaded from github
- Efawin requires Microsoft Visual Studio 2019 or higher to be compiled
- Once built, the generated efawin.dll must be placed in the same folder as libfabric.dll for the efa provider
- EFA driver for Windows can be installed using the AWS public release S3 bucket
- The Infiniband header files from OpenIB are used to provide an interface to the library
- This library is scoped to support the libfabric efa provider that is part of the Open Fabrics Interfaces (OFI)