-
Notifications
You must be signed in to change notification settings - Fork 87
Useful Tools
Simon Gene Gottlieb edited this page Jul 4, 2022
·
28 revisions
- SSH -- connecting with ssh to the fu-berlin servers
- tmux π -- same as screen but newer and cooler
- fzf π -- quick file/folder selection, improve ctrl-r in shell and much more
- miniconda π -- install software in user space
-
ncdu π -- interactive disk usage; e.g.
ncdu -xr ~ - gdb -- gdb to debug your code (sometimes faster than printf)
- valgrind π -- tool to detect memory leaks and invalid reads before writes
- callgrind π/kcachegrind π -- runtime profiling and visualization
- massif π/massif-visualizer π -- heap memory profiling and visualization
- GraphViz
- cmp benchmarks -- The cmp_benchmarks.sh provides a wrapper around google/benchmark/tools/compare.py. It can be used to compare benchmarks between versions and to filter out significant differences in runtime. -> cmp_benchmarks:-Example-Usage
- Access problems:
chmod a+rwX FILE(all users -> read(r), write(w) & search of directories (X)) - How much space do I use?
du -sh * | sort -rh; or usencdu - How much memory is my program using?
/usr/bin/time -v <your program>and check the "Maximum resident set size"
Useful page to interpret bash commands: https://explainshell.com/explain?cmd=du+-sm+*+%7C+sort+-rh
If you prefer to use a Git GUI, we recommend sourcetree π. You can also use a commit message template that looks like this:
~/Repos/seqan3$ less .git/commit_msg_template.txt
[FEATURE] Whenever you implement something new and shiny
[FIX] Whenever you fix some wrong code in the source
[DOC] Whenever you do something only(!) related to the documentation
[INFRA] Whenever you change something of the build system or CI related
[TEST] Whenever you do something related to the tests (unit or benchmark)
[MISC] miscellaneous (=sonstiges) (style guide fixes) - Whenever it does not fit to any of the above
[INTERNAL] [I/O] [WIP] work in progress
([NOP] not otherwise provided)
Example for raptor and gcc-11. The same should work for most other SeqAn3 tools and gcc versions:
git clone https://github.com/seqan/raptor.git --recursive
mkdir raptor/build
cd raptor/build
export CC=/group/ag_abi/software/bin/gcc-11
export CXX=/group/ag_abi/software/bin/g++-11
cmake ..
make -j8