Re: [PATCH rdma-core 00/10] Python binding for rdma-core

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 13, 2018 at 05:44:07PM +0100, Nicolas Morey-Chaisemartin wrote:
> Also my patchfor --with support to cbuild was accepted.
> Might be worth enabling pyverbs in cbuild for RHEL/SUSE.
> See: 123ad71a6376 (buildlib: build static packages in RPM based distro test)

Definitely, we will do it, but first we need to fix travis which fails
without ever trying to add --with for RPMs :).

Thanks

>
> Nicolas
>
> On 11/13/18 2:31 PM, Leon Romanovsky wrote:
> > On Tue, Nov 13, 2018 at 05:31:29AM +0200, Leon Romanovsky wrote:
> >> From: Leon Romanovsky <leonro@xxxxxxxxxxxx>
> >>
> >> Changelog:
> >>  RFC->v0:
> >>   * SuSE fixes from Nicolas
> >>   * Debian fixes from Benjamin
> >>   * Fixed different spelling errors
> >>   * Uncommented section of device class
> >>
> >> PR was updated:
> >> https://github.com/linux-rdma/rdma-core/pull/415
> > PR was updated with the following changes:
> >  * Fix spelling error pointed by Gal
> >  * Removed "Uncommented section of device class" from device.pxd as not needed
> >
> > Thanks
> >
> >> --------------------------------------------------------------------
> >>
> >> In this patch set we introduce python bindings (pyverbs) for
> >> rdma-core in its initial form. It will cover libibverbs and will be
> >> expanded to support librdmacm in the future.
> >>
> >> Prior to developing of pyverbs, the existing python-rdma package [1]
> >> was evaluated, but a new package was built using newer cython and
> >> python versions, in order to provide a more comfortable user experience.
> >>
> >> The main goal of pyverbs is to provide to the user a simple API
> >> that makes working with verbs easier. Among other things, it allows
> >> setting up RDMA resources quickly.
> >>
> >> In the future, it will also suggest default configuration (e.g.
> >> default values for QP attributes, which the user can override) and
> >> further bring up shortcuts will be provided (e.g. QPs can change
> >> state internally, without user intervention).
> >>
> >> The above means a significant cut in tests development time,
> >> which will allow developers to send a feature with a test included,
> >> increasing rdma-core's robustness.
> >>
> >> The above means a significant cut in tests development time,
> >> which will allow developers to send a feature with a test included,
> >> increasing rdma-core's robustness.
> >>
> >> A short example based on the preliminary abilities of this PR:
> >>
> >>     >>>import pyverbs.device as d
> >>     >>>ctx = d.Context(name='mlx5_0')
> >>     >>>attr = ctx.query_device()
> >>     print(attr)
> >>     FW version            : 16.24.0185
> >>     Node guid             : 9803:9b03:0000:e4c6
> >>     Sys image GUID        : 9803:9b03:0000:e4c6
> >>     Max MR size           : 0xffffffffffffffff
> >>     [...]
> >>
> >> Known limitations:
> >>  Travis fails on the cython vs. python compatibility check. We tried
> >>  hard to ensure that those two packages are aligned and we compile
> >>  and install right version of pyverbs. Unfortunately, in Travis,
> >>  python and cython have different versions.
> >>
> >> Future plan:
> >>  * Extend pyverbs' coverage over rdma-core (further RDMA objects such as
> >>    PD, MR etc.).
> >>  * Enrich examles section.
> >>  * Provide tests for existing and new features.
> >>
> >> [1] https://github.com/jgunthorpe/python-rdma
> >>
> >> Thanks,
> >>    Noa and Leon
> >>
> >> Maxim Chicherin (2):
> >>   pyverbs: Introduce device class
> >>   pyverbs/examples: Introduce ib_devices
> >>
> >> Noa Osherovich (8):
> >>   pyverbs: Introducing pyverbs and its context class
> >>   pyverbs: GID class
> >>   pyverbs: Documetn pyverbs usage and examples
> >>   pyverbs: Update cmake to include pyverbs package
> >>   redhat: Add pyverbs to RedHat specification
> >>   suse: Add pyverbs to SUSE specification
> >>   debian: Add pyverbs to Debian package
> >>   pyverbs: Unittest framework
> >>
> >>  .travis.yml                      |   4 +
> >>  CMakeLists.txt                   |  45 +++-
> >>  Documentation/pyverbs.md         |  98 +++++++++
> >>  buildlib/Findcython.cmake        |  29 +++
> >>  buildlib/cbuild                  |  13 +-
> >>  buildlib/pyverbs_functions.cmake |  45 ++++
> >>  debian/control                   |  10 +-
> >>  debian/python3-pyverbs.install   |   1 +
> >>  debian/rules                     |   4 +-
> >>  pyverbs/CMakeLists.txt           |  20 ++
> >>  pyverbs/__init__.pxd             |   0
> >>  pyverbs/__init__.py              |   0
> >>  pyverbs/addr.pxd                 |   9 +
> >>  pyverbs/addr.pyx                 |  53 +++++
> >>  pyverbs/base.pxd                 |   5 +
> >>  pyverbs/base.pyx                 |  24 +++
> >>  pyverbs/device.pxd               |  20 ++
> >>  pyverbs/device.pyx               | 358 +++++++++++++++++++++++++++++++
> >>  pyverbs/enums.pyx                |   1 +
> >>  pyverbs/examples/ib_devices.py   |  20 ++
> >>  pyverbs/libibverbs.pxd           |  74 +++++++
> >>  pyverbs/libibverbs_enums.pxd     | 344 +++++++++++++++++++++++++++++
> >>  pyverbs/pyverbs_error.py         |  40 ++++
> >>  pyverbs/run_tests.py             |  22 ++
> >>  pyverbs/tests/__init__.py        |   0
> >>  pyverbs/tests/device.py          |  41 ++++
> >>  redhat/rdma-core.spec            |  23 ++
> >>  suse/rdma-core.spec              |  26 ++-
> >>  28 files changed, 1318 insertions(+), 11 deletions(-)
> >>  create mode 100644 Documentation/pyverbs.md
> >>  create mode 100644 buildlib/Findcython.cmake
> >>  create mode 100644 buildlib/pyverbs_functions.cmake
> >>  create mode 100644 debian/python3-pyverbs.install
> >>  create mode 100644 pyverbs/CMakeLists.txt
> >>  create mode 100644 pyverbs/__init__.pxd
> >>  create mode 100644 pyverbs/__init__.py
> >>  create mode 100644 pyverbs/addr.pxd
> >>  create mode 100644 pyverbs/addr.pyx
> >>  create mode 100644 pyverbs/base.pxd
> >>  create mode 100644 pyverbs/base.pyx
> >>  create mode 100644 pyverbs/device.pxd
> >>  create mode 100644 pyverbs/device.pyx
> >>  create mode 120000 pyverbs/enums.pyx
> >>  create mode 100755 pyverbs/examples/ib_devices.py
> >>  create mode 100644 pyverbs/libibverbs.pxd
> >>  create mode 100644 pyverbs/libibverbs_enums.pxd
> >>  create mode 100644 pyverbs/pyverbs_error.py
> >>  create mode 100644 pyverbs/run_tests.py
> >>  create mode 100644 pyverbs/tests/__init__.py
> >>  create mode 100644 pyverbs/tests/device.py
> >>
> >> --
> >> 2.19.1
> >>
>
>



Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux