Monthly Archives: January 2016

PDF Metadata in LaTeX Documents

A high-quality publication not only has good content, but also takes care of the tiny details. In an earlier blog post we looked at how to embed fonts in a PDF, today we look at PDF metadata which specifies properties such as the author, the title, a subject, and keywords. Setting the PDF metadata correctly will make it easier for search engines to find and correctly advertise your work, so spending a few minutes on setting the metadata correctly is time well spent.
Continue reading

GPU Memory Bandwidth vs. Thread Blocks (CUDA) / Workgroups (OpenCL)

The massive parallelism of GPUs provides ample of performance for certain algorithms in scientific computing. At the same time, however, Amdahl's Law imposes limits on possible performance gains from parallelization. Thus, let us look in this blog post on how *few* threads one can launch on GPUs while still getting good performance (here: memory bandwidth). Continue reading

OpenCL Just-In-Time (JIT) Compilation Benchmarks

The beauty of the vendor-independent standard OpenCL is that a single kernel language is sufficient to program many different architectures, ranging from dual-core CPUs over Intel's Many Integrated Cores (MIC) architecture to GPUs and even FPGAs. The kernels are just-in-time compiled during the program run, which has several advantages and disadvantages. An incomplete list is as follows:

  • Advantage: Binary can be fully optimized for the underlying hardware
  • Advantage: High portability
  • Disadvantage: Just-in-Time compilation induces overhead
  • Disadvantage: No automatic performance portability

Today's blog post is about just-in-time (jit) compilation overhead. Ideally, jit-compilation is infinitely fast. In reality, it is sufficient to keep the jit-compilation time small compared to the overall execution time. But what is 'small'?

Continue reading

Embed all fonts in PDFs generated with LaTeX or PDFLaTeX

For high quality publications it is absolutely mandatory to embed all fonts in the respective PDF. If a PDF does not embed all fonts, the target system may replace the respective font with the 'best' available system font, so the document is almost certain to look different on different machines. Not quite what you want from a portable document standard, is it?

In the following I will explain how you can make sure that all fonts are embedded in your LaTeX documents (journal papers, conference contributions, flyers, etc.). Some tricks will even apply to PDFs in general and not be specific to LaTeX. There is also a small tarball available for download with all the details so that you can reproduce (and use for copy&paste) the subsequent discussion.

Continue reading

My Science Blog with Updates each Week in 2016

A vital part in science is to establish new knowledge, which only becomes accessible to the community through communication. Journal papers, conference contributions, etc. are traditional means to communicate new knowledge, but other communication channels have emerged through the Internet. One of these new means of communication are blogs, just like the one you are currently reading. My New Year's resolution of 2016 is to publish at least one blog post per calendar week, mostly covering the topics discussed in the following.

Continue reading