Language Selection

English French German Italian Portuguese Spanish

Programming: LLVM, Glibc, Python, Fortran and More

Filed under
Development
  • The New Features Of LLVM 9.0 & Clang 9.0 - Includes Building The Linux x86_64 Kernel

    The LLVM 9.0 release is running a few weeks behind schedule but should be out in the days ahead along with other LLVM sub-project releases like Clang 9.0. Here's a look at what's on tap for this half-year update to the LLVM compiler infrastructure.

  • A bug found in Glibc limits modern SIMD instructions to only Intel, inhibiting performance of AMD and other CPUs

    Yesterday, Mingye Wang reported a bug in the Glibc, GNU C Library. According to him, the dl_platform detection performs “cripple AMD” in the sysdeps in Glibc. The dl_platform check is used for dispatching SIMD (Single instruction, multiple data) libraries.

    Explaining the bug in detail, Wang writes, that in 2017, Glibc got the capability to transparently load libraries for specific CPU families with some SIMD extensions combinations to benefit the x86 users. However, this implementation limits two “good” sets of modern SIMD instructions to only Intel processors that prevent competitor CPUs with equivalent capabilities to fully perform, something that should not work in any free software package.

  • Find the maximum gap between the successive numbers in its sorted form from a Python list

    Given a Python list consists of plus or minus numbers, we need to sort that list then find the maximum gap between the successive numbers in that list regarding of its sign.

  • LEGB? Meet ICPO, Python’s search strategy for attributes

    When it comes to variables, Python has a well-known search strategy, known by the acronym “LEGB.” Whenever you mention a variable — and by “variable,” I mean a name that could be referencing data, a function, or a class — Python tries to find it in four different places: The local (function) scope, the enclosing function’s scope, the global scope, and finally in the “builtins” namespace.

    Variable scoping seems both boring and annoying, but it actually explains a lot about Python’s design. It’s really worth learning about, and won’t take much of your time. Indeed, I have a free e-mail course on the subject; you’re welcome to subscribe.

    But what about attributes? How does Python search for those?

  • Layering security throughout DevOps

    The DevOps movement has changed how we integrate and publish our work. It has taken us from slow, sometimes yearly, release cycles to daily (or even hourly, in some cases) releases. We are capable of writing code and seeing our changes in production almost instantly. While that can give our customers and us a warm and fuzzy feeling, it can also provide an opening for malicious attackers.

    DevOps was an amazing first step to break down walls and support fast responses to market changes and customer demands, but there is still an important wall we need to break, one important group we need to bring into the fold: security operations (SecOps).

  • Excellent Free Books to Learn Fortran

    Fortran (Formula translation) is a multi-paradigm programming language invented by John Backus of IBM in the 1950s. It is particularly notable for innovation; it was the first high-level language, using the first compiler.

    The language is designed to be simple to understand, yet retains the efficiency in execution as assembly language – about 80% as efficient as assembly/machine code. Fortran is machine independent, and a problem oriented language. It is often used in the scientific community, particularly among physicists, and is designed for scientific numerical computing. Fortran allows for high parallelization, it’s easy to optimize, and lends itself particularly well to computationally intensive fields such as finite element analysis, numerical weather prediction, computational physics, computational chemistry, and computational fluid dynamics.

    Fortran has evolved over time, with various standards including Fortran IV, Fortran 77, Fortran 90 and Fortran 95. More recent revisions are Fortran 2003, and Fortran 2008. Since Fortran 9x, it has many structured programming features, dynamic memory, operator overloading, and primitive objects. It is both the language of the past, the current, and the future (high-performance computing is unlikely to cast aside Fortran). Despite its age, Fortran is still very much alive and kicking. Fortran has a vast number of libraries of code.

More in Tux Machines

AMD EPYC 7642 Benchmarks: The Rome 48 Core CPU That Easily Takes On Intel's Xeon Platinum 8280

Since the AMD EPYC 7002 series "Rome" launch at the beginning of August, it's been known how AMD's top-end (aside from the newly-announced EPYC 7H12) EPYC 7742 easily outperforms the Intel Xeon Platinum 8280 in most real-world benchmarks. The EPYC 7742 not only outperforms the Xeon Platinum 8280 in raw performance but also at a significantly lower cost and it gets even better with the EPYC 7642. We have been testing the EPYC 7642 48-core processors and even there the performance is generally ahead of a Xeon Platinum 8280 while being about half the cost of that flagship non-AP Intel Xeon Scalable Cascadelake processor. Complementing our recent EPYC 7302 and EPYC 7402 benchmarks, today we are focused on the EPYC 7642 as the Rome 48-core / 96-thread processor. This 48 core processor has a 2.3GHz base clock and 3.3GHz boost clock while having 256MB of L3 cache, eight DDR4-3200 memory channels, 128 PCIe 4.0 lanes, and other features in common with the EPYC 7742 and other Rome processors. The EPYC 7642 carries a 50MHz base clock speed advantage over the 64 core EPYC 7742 but a 100MHz lower boost clock speed as the principal differences aside from the core/thread count. Both of these CPUs carry a 225 Watt TDP. Read more

Plasma 5.16.90 (Plasma 5.17 Beta) Available for Testing

Are you using Kubuntu 19.04 Disco Dingo, our current Stable release? Or are you already running our development builds of the upcoming 19.10 Eoan Ermine? We currently have Plasma 5.16.90 (Plasma 5.17 Beta) available in our Beta PPA for Kubuntu 19.04 and 19.10. This is a Beta Plasma release, so testers should be aware that bugs and issues may exist. Read more

Raspberry Pi 4 getting hot? A closer look

I hope that will all arrive in time for me to try it out over the weekend, so I can pass along some more information about temperatures, and about what pieces fit together in which cases, if any. Finally, the Raspberry Pi Foundation says that they are working on several software and firmware changes that should help bring the temperature of the Pi 4 down. Hopefully those will be released soon - but even if they are, I don't expect that they will improve the situation by more than 5 degrees or so, and given how hot the Pi 4 runs, that is not enough to eliminate the need for the kind of hardware measures I am looking at now. Read more

Top Open Source Video Players for Linux

You can watch Hulu, Prime Video and/or Netflix on Linux. You can also download videos from YouTube and watch them later or if you are in a country where you cannot get Netflix and other streaming services, you may have to rely on torrent services like Popcorn Time in Linux. Watching movies/TV series or other video contents on computers is not an ‘ancient tradition’ yet. Usually, you go with the default video player that comes baked in with your Linux distribution (that could be anything). You won’t have an issue utilizing the default player – however, if you specifically want more open-source video player choices (or alternatives to the default one), you should keep reading. Read more