-
Notifications
You must be signed in to change notification settings - Fork 22
tensorflow_v2_6_0
Lynn Garren edited this page Apr 26, 2022
·
19 revisions
- Some packages that tensorflow needs were built with spack.
- These are installed using spack-to-ups in
/cvmfs/larsoft.opensciencegrid.org/packages
.
- These are installed using spack-to-ups in
- We have provided
/cvmfs/larsoft.opensciencegrid.org/setup_larsoft.sh
, to be used instead of/cvmfs/larsoft.opensciencegrid.org/products/setup
. - Please replace
source /cvmfs/larsoft.opensciencegrid.org/products/setup
withsource /cvmfs/larsoft.opensciencegrid.org/setup_larsoft.sh
.- This script contains 2 lines:
source /cvmfs/larsoft.opensciencegrid.org/products/setup
export PRODUCTS=$PRODUCTS:/cvmfs/larsoft.opensciencegrid.org/packages
- tensorflow v2_6_0 is built with eigen v3_4_0
- Please make the following change where needed.
-find_package (Eigen3 3.3...3.3.9 REQUIRED NO_MODULE)
+find_package (Eigen3 REQUIRED NO_MODULE)
- We strongly recommend using ups products and spack packages from
/cvmfs/larsoft.opensciencegrid.org
. - In the event this is not possible, use
pullProducts -S <spack package directory>
- This is supported in pullProducts 2.03.01 and later.
Manifests that support tensorflow v2_6_0 should be built with buildFW 6.02.02 and later.
Expect to see the following lines.
spack_command spack install --cache-only [email protected]%[email protected] arch=x86_64
spack_command spack install --cache-only [email protected]%[email protected] arch=x86_64
spack_command spack install --cache-only [email protected]%[email protected] arch=x86_64
spack_command spack module ups_version refresh -y [email protected] [email protected] [email protected] [email protected]
spack_command spack module ups_table refresh -y [email protected] [email protected] [email protected] zlib@
- Please use buildFW 6.02.02 or later.
- The following lines should be near the top of the build config file.
# Specify version to bootstrap and setup UPS.
check_ups v6_0_8
# initialize spack
init_spack
# add spack packages here
add_spack_command spack install --cache-only [email protected]%[email protected] arch=x86_64
add_spack_command spack install --cache-only [email protected]%[email protected] arch=x86_64
add_spack_command spack install --cache-only [email protected]%[email protected] arch=x86_64
add_spack_command spack module ups_version refresh -y [email protected] [email protected] [email protected] [email protected]
add_spack_command spack module ups_table refresh -y [email protected] [email protected] [email protected] [email protected]
- Notes
- buildFW will create a spack package directory under the working build directory.
- By default,
add_spack_command
will execute the command and add it to the manifest. - buildFW will not add
init_spack
to the manifest
- Tensorflow v2_6_0 has its own instructions for building the spack packages.
- These instructions are used to populate the spack buildcache with the required packages.
- However, the tensorflow build should also add the spack commands to the tensorflow manifest.
- To facilitate that, use
add_spack_command -n
, which adds the command to the manifest but does not execute it.
When building larsoft v09_47_00_01, we simply sourced /cvmfs/larsoft.opensciencegrid.org/setup_larsoft.sh
. This is a workaround.
The initial tensorflow Jenkins build has mechanisms in place to install a packages directory. However, when building a new larsoft release, buildFW will simply pull in the prebuilt tensorflow. As a first temporary fix, a special build script is available to install and populate a spack packages directory in the Jenkins working directory. This script is NOT for use outside of a Jenkins build.
Find more complete LArSoft documentation at https://larsoft.github.io/