Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
hpc-compendium
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
ZIH
hpcsupport
hpc-compendium
Merge requests
!430
Update building_software.md
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Update building_software.md
issue-93
into
preview
Overview
1
Commits
2
Pipelines
0
Changes
1
All threads resolved!
Show all comments
Merged
Taras Lazariv
requested to merge
issue-93
into
preview
3 years ago
Overview
1
Commits
2
Pipelines
0
Changes
1
All threads resolved!
Show all comments
Expand
Closes
#93 (closed)
0
0
Merge request reports
Compare
preview
version 1
b4fc9553
3 years ago
preview (base)
and
version 1
latest version
37984418
2 commits,
3 years ago
version 1
b4fc9553
1 commit,
3 years ago
1 file
+
8
−
8
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
doc.zih.tu-dresden.de/docs/software/building_software.md
+
8
−
8
Options
# Building Software
While it is possible to do short compilations on the login nodes, it is generally considered good
practice to use a job for that, especially when using many parallel make processes.
Note that
starting on December 6th 2016,
the
`/projects`
filesystem
will be
mounted read-only on all compute
practice to use a job for that, especially when using many parallel make processes.
Since 2016,
the
`/projects`
filesystem
is
mounted read-only on all compute
nodes in order to prevent users from doing large I/O there (which is what the
`/scratch`
is for).
In consequence, you cannot compile in
`/projects`
within a job
anymore
. If you wish to install
In consequence, you cannot compile in
`/projects`
within a job. If you wish to install
software for your project group anyway, you can use a build directory in the
`/scratch`
filesystem
instead
:
instead
.
Every sane build system should allow you to keep your source code tree and your build directory
separate, some even demand them to be different directories. Plus, you can set your installation
@@ -17,16 +17,16 @@ For instance, when using CMake and keeping your source in `/projects`, you could
```
console
#
save path to your
source
directory:
marie@login$
export
SRCDIR
=
/projects/p_m
yproject
/mysource
marie@login$
export
SRCDIR
=
/projects/p_m
arie
/mysource
#
create a build directory
in
/scratch:
marie@login$
mkdir
/scratch/p_m
yproject
/mysoftware_build
marie@login$
mkdir
/scratch/p_m
arie
/mysoftware_build
#
change to build directory within /scratch:
marie@login$
cd
/scratch/p_m
yproject
/mysoftware_build
marie@login$
cd
/scratch/p_m
arie
/mysoftware_build
#
create Makefiles:
marie@login$
cmake
-DCMAKE_INSTALL_PREFIX
=
/projects/p_m
yproject
/mysoftware
$SRCDIR
marie@login$
cmake
-DCMAKE_INSTALL_PREFIX
=
/projects/p_m
arie
/mysoftware
$SRCDIR
#
build
in
a job:
marie@login$
srun
--mem-per-cpu
=
1500
--cpus-per-task
=
12
--pty
make
-j
12
Loading