Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
common_bench
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
EIC
benchmarks
common_bench
Merge requests
!4
Env update
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Env update
env_update
into
master
Overview
0
Commits
2
Pipelines
0
Changes
2
Merged
Whitney Armstrong
requested to merge
env_update
into
master
4 years ago
Overview
0
Commits
2
Pipelines
0
Changes
2
Expand
0
0
Merge request reports
Compare
master
master (base)
and
latest version
latest version
4d424fef
2 commits,
4 years ago
2 files
+
47
−
25
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
Files
2
Search (e.g. *.vue) (Ctrl+P)
bin/build_detector.sh
+
44
−
24
Options
@@ -5,8 +5,8 @@
## =============================================================================
## make sure we launch this script from the project root directory
PROJECT_ROOT
=
"
$(
cd
"
$(
dirname
"
$0
"
)
"
>
/dev/null 2>&1
;
pwd
-P
)
"
/..
pushd
${
PROJECT_ROOT
}
#
PROJECT_ROOT="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"/..
#
pushd ${PROJECT_ROOT}
## =============================================================================
## Load the environment variables. To build the detector we need the following
@@ -14,13 +14,14 @@ pushd ${PROJECT_ROOT}
##
## - JUGGLER_DETECTOR: the detector package we want to use for this benchmark
## - LOCAL_PREFIX: location where local packages should be installed
## - LOCAL_DATA_PATH: local storage for pipeline jobs
## - DETECTOR_PREFIX: prefix for the detector definitions
## - DETECTOR_PATH: full path for the detector definitions
## this is the same as ${DETECTOR_PREFIX}/${JUGGLER_DETECTOR}
##
## You can read options/env.sh for more in-depth explanations of the variables
## and how they can be controlled.
source
options
/env.sh
source
$(
dirname
"
$0
"
)
/env.sh
## =============================================================================
## Step 1: download/update the detector definitions (if needed)
@@ -28,44 +29,63 @@ pushd ${DETECTOR_PREFIX}
## We need an up-to-date copy of the detector
## start clean to avoid issues...
if
[
-d
${
JUGGLER_DETECTOR
}
]
;
then
if
[
-d
"
${
JUGGLER_DETECTOR
}
"
]
;
then
echo
"cleaning up
${
JUGGLER_DETECTOR
}
"
rm
-rf
${
JUGGLER_DETECTOR
}
mv
"
${
JUGGLER_DETECTOR
}
"
/tmp/.
fi
echo
"Fetching
${
JUGGLER_DETECTOR
}
"
git clone
-b
${
JUGGLER_DETECTOR_VERSION
}
https://eicweb.phy.anl.gov/EIC/detectors/
${
JUGGLER_DETECTOR
}
.git
#else
#echo "Updating ${JUGGLER_DETECTOR}"
#pushd ${JUGGLER_DETECTOR}
#git pull --ff-only
#popd
#fi
git clone
-b
${
JUGGLER_DETECTOR_VERSION
}
--depth
1 https://eicweb.phy.anl.gov/EIC/detectors/
${
JUGGLER_DETECTOR
}
.git
[[
-n
"
$?
"
]]
||
exit
1
rm
-rf
"
${
JUGGLER_DETECTOR
}
/.git"
## We need an up-to-date copy of the detector
## start clean to avoid issues...
if
[
-d
"
${
BEAMLINE_CONFIG
}
"
]
;
then
echo
"cleaning up
${
BEAMLINE_CONFIG
}
"
mv
"
${
BEAMLINE_CONFIG
}
"
/tmp/.
fi
echo
"Fetching
${
BEAMLINE_CONFIG
}
"
echo
"git clone -b
${
BEAMLINE_CONFIG_VERSION
}
--depth 1 https://eicweb.phy.anl.gov/EIC/detectors/
${
BEAMLINE_CONFIG
}
.git"
git clone
-b
${
BEAMLINE_CONFIG_VERSION
}
--depth
1 https://eicweb.phy.anl.gov/EIC/detectors/
${
BEAMLINE_CONFIG
}
.git
[[
-n
"
$?
"
]]
||
exit
1
rm
-rf
"
${
BEAMLINE_CONFIG
}
/.git"
## We also need an up-to-date copy of the accelerator. For now this is done
## manually. Down the road we could maybe automize this with cmake
if
[
-d
accelerator
]
;
then
echo
"cleaning up accelerator"
rm
-rf
accelerator
mv
accelerator
/tmp/.
fi
echo
"Fetching accelerator"
git clone https://eicweb.phy.anl.gov/EIC/detectors/accelerator.git
#else
# echo "Updating accelerator"
# pushd accelerator
# git pull --ff-only
# popd
#fi
git clone
--depth
1 https://eicweb.phy.anl.gov/EIC/detectors/accelerator.git
[[
-n
"
$?
"
]]
||
exit
1
rm
-rf
"accelerator/.git"
## Now symlink the accelerator definition into the detector definition
echo
"Linking accelerator definition into detector definition"
ln
-s
-f
${
DETECTOR_PREFIX
}
/accelerator/eic
${
DETECTOR_PATH
}
/eic
[[
-n
"
$?
"
]]
||
exit
1
ln
-s
-f
${
DETECTOR_PREFIX
}
/
${
BEAMLINE_CONFIG
}
/
${
BEAMLINE_CONFIG
}
${
DETECTOR_PATH
}
/
${
BEAMLINE_CONFIG
}
[[
-n
"
$?
"
]]
||
exit
1
popd
## =============================================================================
## Step 2: Compile and install the detector definition
echo
"Building and installing the
${
JUGGLER_DETECTOR
}
package"
mkdir
-p
${
DETECTOR_PREFIX
}
/build
pushd
${
DETECTOR_PREFIX
}
/build
cmake
${
DETECTOR_PATH
}
-DCMAKE_INSTALL_PREFIX
=
${
LOCAL_PREFIX
}
-DCMAKE_CXX_STANDARD
=
17
&&
make
-j30
install
||
exit
1
mkdir
-p
${
DETECTOR_PREFIX
}
/
${
JUGGLER_DETECTOR
}
_build
pushd
${
DETECTOR_PREFIX
}
/
${
JUGGLER_DETECTOR
}
_build
cmake
${
DETECTOR_PATH
}
-DCMAKE_INSTALL_PREFIX
=
${
LOCAL_PREFIX
}
-DCMAKE_CXX_STANDARD
=
17
&&
make
-j30
install
||
exit
1
popd
rm
-rf
${
DETECTOR_PREFIX
}
/
${
JUGGLER_DETECTOR
}
_build
mkdir
-p
${
DETECTOR_PREFIX
}
/
${
BEAMLINE_CONFIG
}
_build
pushd
${
DETECTOR_PREFIX
}
/
${
BEAMLINE_CONFIG
}
_build
cmake
${
DETECTOR_PREFIX
}
/
${
BEAMLINE_CONFIG
}
-DCMAKE_INSTALL_PREFIX
=
${
LOCAL_PREFIX
}
-DCMAKE_CXX_STANDARD
=
17
&&
make
-j30
install
||
exit
1
popd
rm
-rf
${
DETECTOR_PREFIX
}
/
${
BEAMLINE_CONFIG
}
_build
## =============================================================================
## Step 3: That's all!
Loading