Language Selection

English French German Italian Portuguese Spanish

Programming: GCC, C++, Python and PHP

Filed under
Development
  • AMD GCN GPU Target Continuing To Improve For The GCC 10 Compiler

    With the recent release of the GCC 9 stable compiler there is the initial "AMD GCN" GPU target/back-end merged. However, for this GNU Compiler Collection release the AMD GCN target isn't all that useful but continued work on it gives us hope of seeing it in good shape for next year's GCC 10 release.

    With the GCC 9.1 release, the AMD GCN back-end can only handle running basic single-threaded programs... Not exactly useful for graphics cards. The GCC 9 code supports targeting the Fiji and Vega 10 GCN instruction set architecture.

  • IBM Begins Plumbing "Future" Processor Into GCC Compiler - POWER10?

    IBM engineers have landed initial support for "-mcpu=future" into the GCC compiler... As they say in the commit message, "a future architecture level, as yet unnamed."

    This IBM "future" processor is being added to the POWER architecture code succeeding POWER9. More than likely, its the early enablement work for POWER10.

  • Little Trouble in Big Data – Part 1

    A few months ago, we received a phone call from a bioinformatics group at a European university. The problem they were having appeared very simple. They wanted to know how to usemmap() to be able to load a large data set into RAM at once. OK I thought, no problem, I can handle that one. Turns out this has grown into a complex and interesting exercise in profiling and threading.

    The background is that they are performing Markov-Chain Monte Carlo simulations by sampling at random from data sets containing SNP (pronounced “snips”) genetic markers for a selection of people. It boils down to a large 2D matrix of floats where each column corresponds to an SNP and each row to a person. They provided some small and medium sized data sets for me to test with, but their full data set consists of 500,000 people with 38 million SNP genetic markers!

  • Why precompiled headers do (not) improve C++ compile times

    Would you like your C++ code to compile twice as fast (or more)?

    Yeah, so would I. Who wouldn't. C++ is notorious for taking its sweet time to get compiled. I never really cared about PCHs when I worked on KDE, I think I might have tried them once for something and it didn't seem to do a thing. In 2012, while working on LibreOffice, I noticed its build system used to have PCH support, but it had been nuked, with the usual poor OOo/LO style of a commit message stating the obvious (what) without bothering to state the useful (why). For whatever reason, that caught my attention, reportedly PCHs saved a lot of build time with MSVC, so I tried it and it did. And me having brought the PCH support back from the graveyard means that e.g. the Calc module does not take 5:30m to build on a (very) powerful machine, but only 1:45m. That's only one third of the time.

    In line with my previous experience, on Linux that did nothing. I made the build system support also PCH with GCC and Clang, because it was there and it was simple to support it too, but there was no point. I don't think anybody has ever used that for real.

    Then, about a year ago, I happened to be working on a relatively small C++ project that used some kind of an obscure build system called Premake I had never heard of before. While fixing something in it I noticed it also had PCH support, so guess what, I of course enabled it for the project. It again made the project build faster on Windows. And, on Linux, it did too. Color me surprised.

  • KDAB at CppCon 2019

    CppCon is the annual, week-long face-to-face gathering for the entire C++ community – the biggest C++ event in the world. This year, for the first time, CppCon takes place in the stunning Gaylord Rockies Hotel and Convention Center in Aurora, Colorado, very near Denver International Airport.

  • Clear Linux Discovers Another AVX2/AVX512 Fix/Optimization To Yield Better Performance

    For those running a system with AVX-512 support, Clear Linux builds as of this week should be yielding even better performance on top of their existing AVX2 and AVX-512 optimizations.

    The Intel developers working on Clear Linux uncovered an issue how the new GCC 9 compiler has been building the important libm math library poorly in AVX2/AVX-512 mode. This poor code compilation yielded slowdowns in various math functions since the switch to the GCC 9 compiler.

  • Building Machine Learning Data Pipeline using Apache Spark
  • It is easier to gather package meta-data from PyPI package ecosystem, once know the right way
  • Python 2.7 vs Python 3.4 ─ What should Python Beginners choose?
  • Be Quick or Eat Potatoes: A Newbie’s Guide to PyCon
  • Remote Development with Wing Pro

    In this issue of Wing Tips we take a quick look at Wing Pro's remote development capabilities.

  • Data School: Data science best practices with pandas (video tutorial)
  • PHP extensions status with upcoming PHP 7.4

More in Tux Machines

Plasma 5.17 for Kubuntu 19.10 available in Backports PPA

We are pleased to announce that Plasma 5.17.1, is now available in our backports PPA for Kubuntu 19.10. The release announcement detailing the new features and improvements in Plasma 5.17 can be found here Read more

Android Leftovers

Raspberry Pi 4: Chronicling the Desktop Experience – Week 1

This is a weekly blog about the Raspberry Pi 4 (“RPI4”), the latest product in the popular Raspberry Pi range of computers. The purpose of the blog is two-fold. Primarily, it’s to share my experiences using the RPI4 purely as a desktop replacement machine, to see what works well, and what doesn’t. It’s also to act as an aide-mémoire for myself. Along the way, I’ll be exploring what I’m looking for from a desktop machine. Smooth running multimedia, office based software, email, networking, and productivity apps are all high on my list of priorities. Rest assured, even though I am a huge advocate of the Pi range of computers, I’ll be brutally honest in my critique of RPI4. For example, the RPI4 is marketed as an energy efficient computer. In a way that’s very true. The Pi consumes a mere 2.8 watts when idle and about 5w when maxing out all 4 cores. But the firmware doesn’t automatically switch off the monitors’ backlight. Instead, it only blanks the screen. While there are plans to fix this issue (part fix with a working vcgencmd), it’s a startling omission. With inadequate power management of the monitors, it’s hard to consider the Pi 4 as an energy efficient desktop solution. Read more

Open Source CMS Ghost 3.0 Released with New features for Publishers

Ghost is a free and open source content management system (CMS). If you are not aware of the term, a CMS is a software that allows you to build a website that is primarily focused on creating content without knowledge of HTML and other web-related technologies. Ghost is in fact one of the best open source CMS out there. It’s main focus is on creating lightweight, fast loading and good looking blogs. It has a modern intuitive editor with built-in SEO features. You also have native desktop (Linux including) and mobile apps. If you like terminal, you can also use the CLI tools it provides. Read more