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

Graphics: CUDA, Radeon and Vulkan

  • HIPCL Lets CUDA Run On OpenCL+SPIR-V

    Based off AMD's GPUOpen HIP as part of their ROCm stack, researchers at Tampere University in Finland have created HIPCL as leveraging HIP as well as POCL for routing CUDA codes to run on any hardware supporting OpenCL+SPIR-V. HIPCL provides a path of running CUDA on top of OpenCL, permitting the OpenCL driver also supports the SPIR-V intermediate representation. The OpenCL implementation also needs to support Shared Virtual Memory (SVM) so that actually rules out using NVIDIA's own driver for taking this route in place of their actual CUDA driver. HIPCL also relies upon a patched version of the LLVM Clang compiler.

  • Radeon RADV Vulkan Driver Tackling NGG Stream-Out

    One of the areas the RadeonSI OpenGL and RADV/AMDVLK Vulkan drivers have had a challenging time promptly support with AMD Navi GPUs has been the NGG (Next-Gen Geometry) functionality but it's slowly getting worked out. The NGG engine support has required various fixes to the graphics drivers, Navi 14 NGG support is borked, and various other Next-Gen Geometry support issues in the Navi driver code. At least on the software side the open-source developers have continued to improve the support and today the latest improvements arrived for the Mesa RADV Vulkan driver.

  • Radeon Navi 12/14 Open-Source Driver Support Now Being Marked As "Experimental"

    In an interesting change of course, the open-source driver support for AMD Radeon Navi 12 and Navi 14 GPUs is being flagged as experimental and hidden behind a feature flag. Back at the start of August AMD sent out their AMDGPU Linux kernel driver support for Navi 12 along with Navi 14. That Navi 12/14 support has since been queued up for introduction in the Linux 5.4 kernel along with the new Vega-based Arcturus GPU.

  • Vulkan 1.1.123 Released With Two New Extensions

    Vulkan 1.1.123 is the latest weekly update to this high performance graphics API and it's formally introducing two more extensions. Besides the usual variety of documentation clarifications and corrections, there are two new Vulkan extensions with version 1.1.123.

Purism: A Privacy Based Computer Company

It all started when Todd Weaver, Founder and CEO of Purism, realized Big Tech could not be trusted as moral guardians of his and his children’s data. The current paradigm of corporations data hoarding is, as Todd describes it, built on “a tech-stack of exploitation”–and not by accident, but by design. Companies such as Google and Microsoft–and especially Facebook–intentionally collect, store and share user data to whomever they see fit. In recent events, the California Consumer Privacy Act, which becomes effective on January 1, 2020, will make residents of California able to know what personal data is being collected about them, know whether their personal data is sold or disclosed and to whom, say no to the sale of personal data, access their personal data, request a business delete any personal data information about a consumer collected from that consumer and not be discriminated against for exercising their privacy rights. This sounds good, and it is, but not according to Big Tech. Big Tech such as Facebook hired a firm to run ads that said things like “Your next click could cost you $5! Say no to the California Consumer Privacy Act”. Big Tech does not care about privacy, they care about their bottom line. This is where Purism comes in. Purism is a privacy focused company. Their devices, the Librem5, Librem13 and Librem15 run PureOS–a GNU/Linux distribution that puts privacy, security and freedom first, by design. It includes popular privacy-respecting software such as PureBrowser. The OS helps you “Surf the web safely without being tracked by advertisers or marketers” and allows you to easily encrypt your entire OS and data with your own encryption keys. This is huge, especially if you understand how much of your “private” data is actually being shared. Read more

Benchmarks: Linux Boot Times, 16-Core HoneyComb LX2K ARM Workstation and New PTS Release

  • A Look At The Speedy Clear Linux Boot Time Versus Ubuntu 19.10

    Given the interest last week in how Clear Linux dropped their kernel boot time from 3 seconds to 300 ms, here are some fresh boot time benchmarks of Clear Linux compared to Ubuntu 19.10 on both Intel and AMD hardware. The systemd-reported boot time was compared between the latest Clear Linux and Ubuntu 19.10 daily images. Ubuntu 19.10 was used for offering the bleeding-edge packages and being more in line to what is offered by the rolling-release Clear Linux. As well, Canonical has been working on some boot time improvements for Ubuntu 19.10.

  • 16-Core HoneyComb LX2K ARM Workstation Looks To Offer A Decent Performance Oomph

    When it comes to ARM-powered workstation boards there hasn't been a whole lot to get excited about with the likes of the Socionext 96Boards Developerbox being quite expensive and not yielding good performance or featureful boards compared to alternative Intel/AMD/POWER workstation/enthusiast boards. One of the more promising ARM workstation boards we have been following is the HoneyComb LX2K (formerly the "ClearFog" board) and it's looking like it could end up being a decent offering in this space. The HoneyComb LX2K / ClearFog is the 16-core mini-ITX workstation board we have been following since earlier this year. They have been aiming for this 16-core ARM workstation board for $500~750 USD and it looks like they will actually strike on the lower-end of that price-range.

  • Phoronix Test Suite 9.0 Released With New Result Viewer, Offline/Enterprise Benchmarking Enhancements

    Phoronix Test Suite 9.0 is now available as the latest quarterly feature release to our cross-platform, open-source automated benchmarking framework. With Phoronix Test Suite 9.0 comes a rewritten result viewer to offer more result viewing functionality previously only exposed locally via the command-line or through a Phoromatic Server (or OpenBenchmarking.org when results are uploaded), new offline/enterprise usage improvements, various hardware/software detection enhancements on different platforms, and a variety of other additions.

SDR dev kit builds on Zynq UltraScale+ RFSoC

Avnet has launched an “RFSoC Development Kit” that extends Xilinx’s eval kit for its Linux-powered, Zynq UltraScale+ RFSoC. The kit adds a Qorvo 2×2 Small Cell RF front-end for SDR prototyping and integrates MATLAB and Simulink. Xilinx launched its 5G-focused Zynq UltraScale+ RFSoC variant of its Arm/FPGA hybrid Zynq UltraScale+ MPSoc last year and then announced a Gen3 update in early February. Avnet has now launched an extended version of the Linux-driven Xilinx Zynq UltraScale+ RFSoC ZCU111 Evaluation Kit that adds a Qorvo 2×2 Small Cell RF Front-end 1.8GHz Card and MATLAB support for software-defined radio (SDR) prototyping, Read more Also: SMARC 2.0 module runs Linux on i.MX8M Mini