civodul pushed a commit to branch master
in repository maintenance.
commit abf147aeccb394d9fcfa2aa4f1568ae7fc33475b
Author: Ludovic Courtès <[email protected]>
AuthorDate: Mon Mar 7 16:12:43 2022 +0100
cise-2022: Inline two references.
* doc/cise-2022/cpu-tuning.skb (url): Tweak to use hyperref.
<top level>: Augment 'usepackage' custom for the 'url' package.
Inline references to Eigen and its gitlab.com issue.
---
doc/cise-2022/cpu-tuning.skb | 26 ++++++++++++++++----------
1 file changed, 16 insertions(+), 10 deletions(-)
diff --git a/doc/cise-2022/cpu-tuning.skb b/doc/cise-2022/cpu-tuning.skb
index ff7220c..64bd8ee 100644
--- a/doc/cise-2022/cpu-tuning.skb
+++ b/doc/cise-2022/cpu-tuning.skb
@@ -25,14 +25,12 @@
(! "–")
(! "--")))))
-(define (dash-dash)
+(define (url url)
(resolve (lambda (n e env)
(if (engine-format? "latex" e)
- (! "{-}{-}")
- "--"))))
-
-(define (url url)
- (ref :text (tt url) :url url))
+ (!latex (string-append "\\href{" url "}{\\textit{$1}}")
+ url)
+ (ref :text (it url) :url url)))))
(define (=>)
(symbol "=>"))
@@ -79,6 +77,13 @@
;; typeset inside teletype text.
"\\DeclareUnicodeCharacter{2026}{\\textrm{\\ldots}}\n"
+ ;; Hyperlinks.
+ "\\definecolor{darkblue}{rgb}{0.0, 0.0,
0.55}\n"
+ "\\definecolor{cobalt}{rgb}{0.0, 0.28,
0.67}\n"
+ "\\definecolor{coolblack}{rgb}{0.0, 0.18,
0.39}\n"
+
"\\PassOptionsToPackage{hyphens}{url}\\usepackage[colorlinks=true,
linkcolor=coolblack, urlcolor=cobalt, citecolor=coolblack]{hyperref}\n"
+ "\\RequirePackage[hyphens]{url}\n"
+
;; Improve hyphenation.
"\\hyphenation{Open-PGP}\n")))
@@ -291,8 +296,8 @@ processors by their code name—from “Nehalem” to “Skylake”
,(it [via])
(p [Linear algebra routines that scientific software relies on
greatly benefit from SIMD extensions. For example, on a modest Intel
CORE i7 processor (of the Skylake generation), the AVX2-optimized
-version of the dense matrix multiplication routines of Eigen ,(ref :bib
-'guennebaud2022:eigen), built with GCC 10.3, peaks at about 40 Gflops/s,
+version of the dense matrix multiplication routines of Eigen (,(url
+"https://eigen.tuxfamily.org")), built with GCC 10.3, peaks at about 40
Gflops/s,
compared to 11 Gflops/s for its baseline x86_64 version—four times
faster!]))
@@ -377,8 +382,9 @@ portability.])
libraries rarely makes provisions for performance portability. Thus,
when compiling those packages for the baseline ISA, one misses out on
all the vectorized implementations that libraries like Eigen provide.
-This is a known issue in search of a solution ,(ref :bib
-'larsen2021:eigen-fmv). It can have a very concrete impact on
+This is a known issue in search of a solution—see ,(url
+"https://gitlab.com/libeigen/eigen/-/issues/2344").
+It can have a very concrete impact on
performance since many scientific packages—the ARPACK-NG library for
solving eigenvalue problems, the Ceres solver for optimization problems,
the FEniCSx platform for solving differential equations, to name a