Introduction
Introduction Statistics Contact Development Disclaimer Help
t005-energy-efficient-programming.txt - adamsgaard.dk - my academic webpage
git clone git://src.adamsgaard.dk/adamsgaard.dk
Log
Files
Refs
README
LICENSE
---
t005-energy-efficient-programming.txt (3506B)
---
1 I presented my thougts on scientific software development at [1]brcon
2 2020. Full abstract:
3
4 Numerical models are used extensively for simulating complex
5 physical systems including fluid flows, astronomical events,
6 weather, and climate. Many researchers struggle to bring their
7 model developments from single-computer, interpreted languages to
8 parallel high-performance computing (HPC) systems. There are
9 initiatives to make interpreted languages such as MATLAB, Python,
10 and Julia feasible for HPC programming. In this talk I argue that
11 the computational overhead is far costlier than any potential
12 development time saved. Instead, doing model development in C and
13 unix tools from the start minimizes porting headaches between
14 platforms, reduces energy use on all systems, and ensures
15 reproducibility of results.
16
17 You can check out the slides and audio here:
18
19 - [2]slides (markdown)
20 - [3]audio (ogg)
21 - [4]slides+audio as video
22
23 The full conference schedule and presentation recordings are available
24 [5]here.
25
26 Brcon is the annual meeting of [6]bitreich, an initiative to promote
27 minimal and perfect programming and system design practice. In a
28 nutshell, the philosophy favors simple and well-designed solutions
29 (e.g. C, POSIX, Unix) over convoluted and hyped software-development
30 tools (cloud deployment, docker, systemd, autotools, and so on).
31 The bitreich information site uses the WWW-precursor protocol
32 [7]gopher, demonstrating that information transfer can occur without
33 the ugly mess of the modern web that is html, javascript, cookies,
34 and trackers. The conference was held virtually, but the minimal
35 and open standards used for conference participation is a perfect
36 example of the bitreich philosophy.
37
38 The presentations were displayed by [8]catpoint(1) which takes text
39 files and shows the content as slides in the terminal. The audio
40 stream was publically broadcast via [9]icecast. Each presenter
41 would stream their mic to the icecast server, for example via
42 [10]ffmpeg(1):
43
44 ffmpeg -loglevel debug -f sndio -ac 2 -ar 44100 -i snd/0 \
45 -codec libmp3lame -f mp3 \
46 icecast://source:${pass}@bitreich.org:3232/live
47
48 The listeners would point a network audio client to this URL and
49 hear the speaker in real time. For the slides, the viewers connected
50 via ssh(1) to a public guest account, automatically attached to a
51 multiplexed terminal session controlled by the presenter, and watched
52 the presentation in their own terminal with minimal bandwith
53 requirements. Questions were communicated via irc.
54
55 The source code for my presentation is available [11]here. The
56 [12]pointtools utility md2point(1) is useful for generating catpoint
57 presentations, as it reads presentations in markdown format, does
58 some light styling, and outputs catpoint-compatible text files.
59
60 It doesn't get more minimal, efficient, and perfect than that!
61
62
63 References:
64
65 [1] gopher://bitreich.org/1/con/2020
66 [2] gopher://adamsgaard.dk/0/pub/energy-efficient-programming.md
67 [3] gopher://adamsgaard.dk/9/pub/brcon2020-energy-efficient-programming-…
68 [4] gopher://adamsgaard.dk/9/video/brcon2020-energy-efficient-programmin…
69 [5] gopher://bitreich.org/1/con/2020
70 [6] gopher://bitreich.org
71 [7] https://en.wikipedia.org/wiki/Gopher_(protocol)
72 [8] gopher://bitreich.org/1/scm/catpoint
73 [9] https://icecast.org
74 [10] https://ffmpeg.org
75 [11] gopher://adamsgaard.dk/1/src/brcon2020_adc
76 [12] gopher://bitreich.org/1/scm/pointtools
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.