Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Seldon C++ wrapper #2639

Merged
merged 49 commits into from
Nov 17, 2020
Merged

Seldon C++ wrapper #2639

merged 49 commits into from
Nov 17, 2020

Conversation

axsaucedo
Copy link
Contributor

@axsaucedo axsaucedo commented Nov 14, 2020

Adds C++ wrapper, these two examples show the functionality:

Current features:

  • Similar to JNI wrapper leverages the python capabilities through bindings
  • Implements protobufs with templates so can be extended to non-SeldonMessage protos
  • Passes the bytes as raw and passes a Proto SeldonMessage to the user
  • Uses CMake for the core build system
  • Provides a structured module that can be installed with utilities
  • Includes docker image(s) with builds for dependencies (pybind + protoc)
  • Fixes clashes when protocol not dictionary

Outstanding (separate PR):

  • Minor optimizations, e.g. avoid passing by value where possible (seems it's possible to pass buffer without copy)
  • Benchmarks

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@seldondev
Copy link
Collaborator

Sat Nov 14 22:44:25 UTC 2020
The logs for [lint] [2] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2639/2.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2639 --build=2

@seldondev
Copy link
Collaborator

Sat Nov 14 22:44:34 UTC 2020
The logs for [pr-build] [1] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2639/1.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2639 --build=1

@seldondev
Copy link
Collaborator

Sun Nov 15 08:35:34 UTC 2020
The logs for [lint] [4] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2639/4.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2639 --build=4

@seldondev
Copy link
Collaborator

Sun Nov 15 08:35:37 UTC 2020
The logs for [pr-build] [3] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2639/3.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2639 --build=3

Copy link
Contributor

@adriangonz adriangonz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is really amazing @axsaucedo! I've added a couple comments, mainly around docs (there seem to be some missing links). Other than that, this looks great!

doc/source/cpp/README.md Show resolved Hide resolved
examples/models/cpp/simple-cpp/README.md Outdated Show resolved Hide resolved
examples/models/cpp/simple-cpp/README.md Outdated Show resolved Hide resolved
incubating/wrappers/s2i/cpp/base/setup.py Show resolved Hide resolved
@axsaucedo
Copy link
Contributor Author

Addressed all comments, should be good to go 👍

@seldondev
Copy link
Collaborator

Tue Nov 17 07:19:40 UTC 2020
The logs for [lint] [6] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2639/6.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2639 --build=6

@seldondev
Copy link
Collaborator

Tue Nov 17 07:19:46 UTC 2020
The logs for [pr-build] [5] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2639/5.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2639 --build=5

@seldondev
Copy link
Collaborator

Tue Nov 17 07:26:20 UTC 2020
The logs for [lint] [8] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2639/8.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2639 --build=8

@seldondev
Copy link
Collaborator

Tue Nov 17 07:26:25 UTC 2020
The logs for [pr-build] [7] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2639/7.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2639 --build=7

@adriangonz
Copy link
Contributor

/approve

Looks great @axsaucedo !

@seldondev
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: adriangonz

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@seldondev
Copy link
Collaborator

Tue Nov 17 10:07:51 UTC 2020
The logs for [pr-build] [9] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2639/9.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2639 --build=9

@seldondev
Copy link
Collaborator

Tue Nov 17 10:08:04 UTC 2020
The logs for [lint] [10] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2639/10.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2639 --build=10

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants