「view this page in B3 βῆτα server」

Revisions №60700

branch: master 「№60700」
Commited by: Vikram K. Mulligan
GitHub commit link: 「94033fd487b55dbb」 「№3880」
Difference from previous tested commit:  code diff
Commit date: 2019-04-06 21:56:29
linux.clang linux.gcc linux.srlz mac.clang
linux.PyRosetta.unit linux.gcc.python36.PyRosetta4.unit mac.PyRosetta.unit build.clean.debug cppcheck mysql postgres linux.clang.python36.build.debug linux.zeromq.debug mpi mpi.serialization linux.icc.build.debug OpenCL mac.clang.python36.build.debug build.header build.levels ninja graphics static mac.clang.static.build.release linux.ui mac.ui build.xcode beautification code_quality.clang_analysis serialization integration.addsan integration.mpi integration.release_debug integration.tutorials integration.ubsan integration.valgrind integration maintenance.documentation performance profile linux.clang.python27.release.PyRosetta4.Debug linux.clang.python35.release.PyRosetta4.Debug linux.clang.python36.release.PyRosetta4.Debug linux.clang.python27.release.PyRosetta4.MinSizeRel linux.clang.python35.release.PyRosetta4.MinSizeRel linux.clang.python36.release.PyRosetta4.MinSizeRel ubuntu.clang.python27.release.PyRosetta4.MinSizeRel ubuntu.clang.python35.release.PyRosetta4.MinSizeRel ubuntu.clang.python36.release.PyRosetta4.MinSizeRel linux.clang.python27.release.PyRosetta4.Release linux.clang.python35.release.PyRosetta4.Release linux.clang.python36.release.PyRosetta4.Release ubuntu.clang.python27.release.PyRosetta4.Release ubuntu.clang.python35.release.PyRosetta4.Release ubuntu.clang.python36.release.PyRosetta4.Release release.source linux.clang.score linux.gcc.score mac.clang.score linux.scripts.pyrosetta scripts.rosetta.parse scripts.rosetta.validate scripts.rosetta.verify unit.addsan linux.clang.unit.release linux.gcc.unit.release unit.ubsan

Merge pull request #3880 from RosettaCommons/vmullig/tensorflow_link Add ability to link Tensorflow's C libraries, to allow evaluation of feedforward neural networks on CPU or GPU Note that this is _not_ related to (or intended to compete with) the work being done to evaluate the Rosetta scoring function on the GPU using Torch. This is intended to allow evaluation within Rosetta of Tensorflow neural networks that were previously trained outside of Rosetta, for machine learning-related applications. Tasks: - [x] Add headers for C api, - [x] Add linker command for linking the prebuilt CPU or GPU Tensorflow binaries. - [x] Ensure that `extras=tensorflow` defines `USE_TENSORFLOW`. - ~~It might be good to _also_ have `extras=tensorflow` define `TENSORFLOW_CPU`, and `extras=tensorflow_gpu` define `TENSORFLOW_GPU`. I can conceive of situations in which a Rosetta developer might want to bundle work differently if it's going to be evaluated on a CPU _vs._ on a GPU.~~ --> There's not actually a good way to know which TensorFlow library is being linked. It just depends on the `LD_LIBRARY_PATH` environment variable. The API is the same for both versions. - [x] Add basic pilot app to test successful linking. - [x] Add pilot apps to test functionality. - [x] Integration test. - [x] Add tensorflow integration test flavour. - [x] Add build test for `extras=tensorflow`. (Note that `extras=tensorflow_gpu` will not be tested until we get GPU nodes on the test server.) - [x] refactoring `integration.py` and deprecate `--mpi-tests` in favor of more general `--suffix` option - [x] Switch pilot app output to use tracer. Down the road we'll add a good Rosetta-side interface for Tensorflow calculations, but first we want to do some experiments and see what works and what doesn't. So for now, our pilot apps will be making Tensorflow function calls directly. @lyskov @JackMaguire Note: I confirmed with Dennis Hanson at UW Comotion that this is kosher, given the Rosetta and Tensorflow licences.

Test: linux.clang.integration.tutorials

Failed sub-tests (click for more details):