Open Source Community Ponders Removing Code Optimizations for Russian Processors

(Image credit: MCST)

Even as the international governmental and institutional community ups the pressure on Russia by enforcing increasingly tighter sanctions, a new player may have entered the sanction game. As reported by Phoronix, developers of the popular OpenBLAS (Basic Linear Algebra Subprograms) library code are mulling whether or not to remove support for Russian-developed Elbrus processors. The debate concerns the possible applications and use-cases for the Russian processors, and would serve as a way to deny the country the Elbrus-specific optimizations that have been baked into OpenBLAS releases starting with branch #3518.

An RFC (Request for Comments) post on the project's Github page explains the rationale for the removal, in that "The Elbrus processor is a so-called homegrown processor, with the primary use case of circumventing sanctions such as above. The processor is / will be used in Russian military equipment, intelligence service, and other branches of the Russian government. Linear algebra operations provided by OpenBLAS can be and are used within weapons (eg: machine learning, pattern recognition, computer vision), such as those used by the Russian military, either now or in the future."

The OpenBLAS library is added to on a per-architecture basis, meaning that the implemented optimizations add support and improve performance for Russia's homegrown CPUs. Considering the less than competitive performance of the Russian-designed processors compared to even aging offerings from AMD and Intel, however, these optimizations are an important piece of the puzzle for their general performance. The problem, however, is that these CPUs will be mostly serving the Russian state apparatus - including, at least in theory, military applications. There's a slight caveat regarding the Request for Comments, however, in that Russia wasn't sanctioned regarding the usage of its homegrown Elbrus CPUs; only on receiving external technology. Naturally, no country or organization can prevent Russia from deploying its own processors within its borders.

However, whether or not to officially remove the Elbrus-optimized code from the main branch stands mostly as an exercise in politics; since that code is open-source and already published, Russia already has access to the relevant bits. The country could simply keep on using the latest release with Elbrus-specific optimizations and could even attempt to maintain its own fork of the library. Some adages of the Internet are still true: once content is out there, there's little that can be done to roll it back.

Screengrab from the Github RFC on OpenBLAS

Screengrab from the original RFC on the OpenBLAS Github project. (Image credit: Github)

Comments on the proposal mostly seem to be aligned with the removal, at least as a political statement of support for Ukraine in the ongoing conflict. However, this does mark a potentially interesting inflection point for open-source initiatives. According to Phoronix, and to the best of our knowledge, this is the first time the open-source development community has asked the question of removing hardware support on the basis of geopolitical moves. It's too late now to pull the plug on the OpenBLAS optimizations, but that doesn't mean that the Open Source development community can't be more alert to the geopolitical underpinnings of the hardware they are coding or optimizing for. Of course, whether or not they should is an open-ended question.

Francisco Pires
Freelance News Writer

Francisco Pires is a freelance news writer for Tom's Hardware with a soft side for quantum computing.

  • watzupken
    I don’t know man. All these sanctions may be going too far when you consider that it impacts the people in the country that may be innocent from the decision to invade Ukraine. Leaders and rich may be impacted, but to a lesser extent.
  • cryoburner
    watzupken said:
    I don’t know man. All these sanctions may be going too far when you consider that it impacts the people in the country that may be innocent from the decision to invade Ukraine. Leaders and rich may be impacted, but to a lesser extent.
    I don't believe either those processors or that software are likely to be used much by the general public. Though the public being affected by sanctions isn't entirely a bad thing, as that will lead to more dissent against their government's actions. If government approval drops to record lows, that may give them more reason to change their course of action, or even replace some of the leaders making those decisions.

    In any case, as the article points out, removing the optimizations wouldn't make much difference either way, since the code is already out there, and all anyone would have to do is fork the code and add them back in. It could perhaps deter work on future optimizations, but that code was likely contributed by the organizations using the processors in the first place, so they could continue development on their own.