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
Commits
6ba5eddf
Commit
6ba5eddf
authored
3 years ago
by
Jan Frenzel
Browse files
Options
Downloads
Plain Diff
Merge branch 'issue-93' into 'preview'
Update building_software.md Closes
#93
See merge request
!430
parents
6fc43f7c
37984418
No related branches found
No related tags found
3 merge requests
!446
docs: Add Jupyter Teaching Example
,
!431
Automated merge from preview to main
,
!430
Update building_software.md
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc.zih.tu-dresden.de/docs/software/building_software.md
+8
-8
8 additions, 8 deletions
doc.zih.tu-dresden.de/docs/software/building_software.md
with
8 additions
and
8 deletions
doc.zih.tu-dresden.de/docs/software/building_software.md
+
8
−
8
View file @
6ba5eddf
# Building Software
# Building Software
While it is possible to do short compilations on the login nodes, it is generally considered good
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
practice to use a job for that, especially when using many parallel make processes.
Since 2016,
starting on December 6th 2016,
the
`/projects`
filesystem
will be
mounted read-only on all compute
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).
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
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
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
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
...
@@ -17,16 +17,16 @@ For instance, when using CMake and keeping your source in `/projects`, you could
```
console
```
console
#
save path to your
source
directory:
#
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:
#
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:
#
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:
#
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:
#
build
in
a job:
marie@login$
srun
--mem-per-cpu
=
1500
--cpus-per-task
=
12
--pty
make
-j
12
marie@login$
srun
--mem-per-cpu
=
1500
--cpus-per-task
=
12
--pty
make
-j
12
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment