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

Dismantle Layer Headers #3315

Merged
merged 1 commit into from
Dec 2, 2015
Merged

Dismantle Layer Headers #3315

merged 1 commit into from
Dec 2, 2015

Conversation

shelhamer
Copy link
Member

Monolithic layer includes trigger grossly unnecessary recompilation whenever a change is made to even a single layer definition. Dismantling the agglomerated vision_layer.hpp, common_layers.hpp, and so forth makes the dependencies and build more modular. This should likewise reduce conflicts in layer development and PRs.

Regarding dependencies, I do not promise that this PR is free of recursive includes. Occasionally a make clean might be needed (if this is in fact a problem at all; I need to review dependency generation...) but this is no different than the current arrangement.

I admit there is essentially never a good time for this PR since it will impact any layers in progress but at some point the headers need breaking for mending.

To reconcile your own branches with this you should rebase and transplant changes to the monolithic headers to the relevant layer header (which you need to create for your own layers).

Now the only obstacle to decoupled layer development is the common caffe.proto.

@ducha-aiki
Copy link
Contributor

I admit there is essentially never a good time for this PR since it will impact any layers in progress but at some point the headers need breaking for mending.

Even with this, it is greatly welcomed PR :)

@shelhamer shelhamer force-pushed the layer-headers branch 2 times, most recently from c13b2f2 to 69d7aa6 Compare November 11, 2015 07:01
@shelhamer
Copy link
Member Author

@ronghanghu can I ask for your help to check if this is compatible with matcaffe?

@ronghanghu
Copy link
Member

@shelhamer Of course! I am checking.

@ronghanghu
Copy link
Member

All matcaffe tests passed with this PR on a BVLC machine.

No more monolithic includes: split layers into their own headers for modular inclusion and build.
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.

3 participants