[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[task #16035] Optional activation of CPU-specific optimizations
From: |
Mohammad Akhlaghi |
Subject: |
[task #16035] Optional activation of CPU-specific optimizations |
Date: |
Mon, 23 Aug 2021 16:13:22 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0 |
URL:
<https://savannah.nongnu.org/task/?16035>
Summary: Optional activation of CPU-specific optimizations
Project: Maneage
Submitted by: makhlaghi
Submitted on: Mon 23 Aug 2021 09:13:21 PM BST
Should Start On: Mon 23 Aug 2021 12:00:00 AM BST
Should be Finished on: Mon 23 Aug 2021 12:00:00 AM BST
Category: Software
Priority: 5 - Normal
Status: Postponed
Privacy: Public
Percent Complete: 0%
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Effort: 0.00
_______________________________________________________
Details:
Some programs have CPU-specific optimizations. Like '--enable-sse2' in CFITSIO
that only works on Intel's x86-64 CPU architectures (see bug #61072).
Such optimizations may affect exact reproducibility of the final result (the
simplest would be within the range of floating point errors, and it can get
much more serious).
To avoid this, one solution is to add an option to './project' (maybe called
'--cpu-optimizations') to let the user optionally activate CPU-architecture
specific optimizations. When the user gives this option, a check can be added
in 'configure.sh' for detecting the running CPU architecture, and writing the
result in a fixed variable (this variable would be empty if that option to
./project wasn't given).
Afterwards, any software with a known CPU-architecture-specific configure
option should only activate those options when the user wants, and for the
certain CPU architectures that the program has optimizations before.
Of course, we should also print a BIG warning at the start when the user gives
this option, to warn them that your result may not be reproducible/portable on
other CPU architectures. But it won't be active by default, so for a user who
doesn't know about it, it won't cause reproducibility problems.
This also has the good side effect that with a simple search for that variable
in the software building Makefiles, we can find all software that have
CPU-specific optimizations.
_______________________________________________________
Reply to this item at:
<https://savannah.nongnu.org/task/?16035>
_______________________________________________
Message sent via Savannah
https://savannah.nongnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [task #16035] Optional activation of CPU-specific optimizations,
Mohammad Akhlaghi <=