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

Re: Rethinking tensorflow build (taking shortcuts)



On 2019-10-04 16:25, Samuel Thibault wrote:
> Hello,
> 
> Mo Zhou, le ven. 04 oct. 2019 09:04:25 -0700, a ecrit:
>> Another angle for addressing the building problem is in the
>> reverse-engineering style: parse the bazel buildlog, rebuild the
>> dependency graph and generate a ninja build for it. See [2].
> 
> Interesting :) But then if one wants to add some files to the software,
> which changes the dependencies, are we able to insert it correctly in
> the build process? Being able to change the set of files to be built is
> part of being able to modify the software, for it to be free :/

Minor modifications won't be too difficult. For example the object list
for building libtensorflow.so is explicitly listed here[1]. During build
the object list is passed to compiler via
-Wl,@libtensorflow.......params
I did manually edit the object list to customize the shared object, and
the changes will be reflected in the dependency graph[2].
(FYI: ninja writer's "implicit" argument stores dependencies)

On the other hand, ff the user wants significantly different stuff,
they have to re-generate a buildlog and update the parser accordingly.

Not bad, right?

[1]
https://salsa.debian.org/science-team/tensorflow/blob/lumin/debian/buildlogs/libtensorflow.so.2.0.0-2.params
[2]
https://salsa.debian.org/science-team/tensorflow/blob/lumin/debian/fakebazel.py#L413-417


Reply to: