[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#947409: RFS: clp/1.17.3+repack1-2 -- Coin-or linear programming solver



On Thu, Dec 26, 2019 at 04:28:25PM +0100, Håvard Flaget Aasen wrote:
>  * Package name    : clp
>    Version         : 1.17.3+repack1-2

> Changes since the last upload:
> 
>    * QA upload
>    * Add coinor-libclp-doc.links to remove duplicated files
>    * Set minimum version on runtime-dependencies
>    * Add patch to check for correct architecture

> New release to fix  certain issue with the old one, built and tested on six
> different architectures this time. Please take a look at the patch to see if
> it is acceptable.

Hi!
I'm afraid that the new check drops optimizations on amd64 -- the arch where
99.9% users are.  Your patch is:

 #ifdef _MSC_VER
 #include <intrin.h>
-#elif defined(__arm__)
+#elif defined(__arch64__)
 #include <arm_neon.h>
-#else
+#elif defined(__i386__)
 #include <immintrin.h>
 //#include <fmaintrin.h>
 #endif

so it checks for __i386__ which is not defined on amd64 (nor x32).

There are many defines which would be enough; you can for example check for:
#elif defined(__i386__) || defined(__x86_64__)

Also, it could be nice to keep the optimized code on armhf as well, which
would make the ARM line:
#elif defined(__ARM_FEATURE_SIMD32) || defined(__ARM_NEON)

Currently, the code _does_ compile but is slow on any arch other than arm64
and i386.  And not many people run scientific code on either.


Meow!
-- 
⢀⣴⠾⠻⢶⣦⠀ A MAP07 (Dead Simple) raspberry tincture recipe: 0.5l 95% alcohol,
⣾⠁⢠⠒⠀⣿⡁ 1kg raspberries, 0.4kg sugar; put into a big jar for 1 month.
⢿⡄⠘⠷⠚⠋⠀ Filter out and throw away the fruits (can dump them into a cake,
⠈⠳⣄⠀⠀⠀⠀ etc), let the drink age at least 3-6 months.


Reply to: