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

[DISCUSS] Remove Protobuf dependency #2538

Merged
merged 2 commits into from
Jul 10, 2020

Conversation

hcho3
Copy link
Contributor

@hcho3 hcho3 commented Jul 10, 2020

The protobuf dependency was first introduced when cuML began building Treelite as a submodule. Now, Treelite has an efficient binary serializer (#2263) so Protobuf is no longer necessary for serializing trees. There is now exactly one place in cuML where Protobuf is used:

elif model_type == "protobuf":
# XXX Not tested
res = TreeliteLoadProtobufModel(filename_bytes, &handle)
if res < 0:
err = TreeliteGetLastError()
raise RuntimeError("Failed to load %s (%s)" % (filename, err))

which, as the comment suggests, is untested.

My humble opinion is that the feature is small enough to not warrant the introduction of a dependency like Protobuf. I open this pull request to start a discussion. As in #2528, some users want to build cuML without using the Conda package management system, and the Protobuf dependency makes their lives harder.

I will file a separate pull request to document steps for building Treelite manually without Conda.

@hcho3 hcho3 requested review from a team as code owners July 10, 2020 07:25
@hcho3 hcho3 changed the title Remove Protobuf dependency [DISCUSS] Remove Protobuf dependency Jul 10, 2020
@GPUtester
Copy link
Contributor

Please update the changelog in order to start CI tests.

View the gpuCI docs here.

Copy link
Member

@dantegd dantegd left a comment

Choose a reason for hiding this comment

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

I fully agree and support this change! Thanks @hcho3

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

Successfully merging this pull request may close these issues.

5 participants