Bob,
  That certainly makes sense, the CPU architechs are constantly tweaking the instruction sets, even for routine things like dividing.  So, it is very unlikely that AMD and Intel both came up with exactly the same binary code for even simple math (and binary floating point instructions are always just an approximation to decimal operations).  Who can forget the Pentium 5 CPU that had a bug in the instruction set that gave a grossly wrong answer with dividing carefully selection numbers.  So, I suspect that CPU type must be added to the things that can cause NONMEM or Phoenix and Monolix to give different results, along with

compiler
optimization settings
32 vs 64 bit
 

Interestingly, there can (very rarely) even be randomness in the answer.   Cosmic rays actually can hit individual bits in memory and flip them. Parity checking/error correcting code (ECC) will detect these single bit changes.  The rate is about 10−10−10−17 error/bit·h.  Most DRAM in PC is not ECC, most in servers and workstation is ECC.

Mark



Mark Sale MD
President, Next Level Solutions, LLC
www.NextLevelSolns.com
919-846-9185
A carbon-neutral company
See our real time solar energy production at:


-------- Original Message --------
Subject: RE: [NMusers] Intel vs AMD
From: Bob Leary <bob.le...@certara.com>
Date: Mon, August 13, 2012 9:13 am
To: Nick Holford <n.holf...@auckland.ac.nz>, nmusers
<nmusers@globomaxnm.com>

Even when using a non-Intel compiler (e.g. gnu compilers) with exactly the same compiler options and optimization levels on AMD and Intel that generates exactly the same
code for both , there can be numerical differences between AMD and Intel processors.

We did a study [1] on Phoenix NLME results using the gnu g77 compiler with different Intel processors and Windows operating systems going back to 2002 and up to current generation processors (i3/i5/i7) and Windows 7. We generally got bit for bit identical results across every system tested when the compiler settings were the same. But AMD processors gave slightly different results. I found an AMD technical manual that indicated the probable reason - it advised that the AMD 80-bit x87 math floating point unit can give slightly different results than the corresponding Intel FPU.
Indeed, we have found this to be the case in practice.


{1} R. Leary et al, "Exact Reproducibility of Population PK/PD MLME Numerical Results across Different Computational Environments", PAGE 2011 (abstract 2042].

-----Original Message-----
From: owner-nmus...@globomaxnm.com [mailto:owner-nmus...@globomaxnm.com] On Behalf Of Nick Holford
Sent: Sunday, August 12, 2012 4:56 PM
To: nmusers
Subject: Re: [NMusers] Intel vs AMD

Mark,

I think you may not be fully appreciating the terms of the agreement when you say "it is generally accepted that Intel continues to impair the optimization on AMD CPU".Under the terms of the agreement (which you provide below) it is perfectly OK for Intel to optimize their compilers for Intel CPUs without including any optimization for AMD CPUs.
Furthermore they are not required to provide any optimization for AMD CPus. Therefore, unless Intel don't know how to optimize compilers you must expect the Intel compiler to perform better on an Intel CPU.

This issue might (or might not) be relevant to Martin's query about 'differences'. He does not specify the kind of difference e.g. faster?
more accurate?. It may be possible to choose compiler options that produce identical numerical results on both CPUs but at the price of speed.

Rik Schoemaker suggested using these Intel compiler options /nologo /nbs /w /Gs /fp:strict to obtain consistent numerical results
(http://www.cognigencorp.com/nonmem/current/2011-May/3266.html) with different NONMEM 7 versions across different operating systems. Perhaps these options would ensure numerical consistency across different CPU types.

Best wishes,

Nick

On 13/08/2012 8:27 a.m., Mark Sale - Next Level Solutions wrote:
> Martin
> Yes, the results can be different. Intel has been accused of
> "crippling" the executable when the Intel compiler is used on AMD CPUs
> http://www.agner.org/optimize/blog/read.php?i=49
>
> by turning off all optimization - they actually pretty much admitted
> this in the lawsuit - but explained that it was for the benefit of the
> customer - sort of like in the 1980's when Microsoft pretty much
> disabled WordPerfect with every new OS release.
>
> and yes, different optimization setting will give different results,
> 32 bit will also give different results from 64 bit. Sometimes the
> phase of the moon, or the users astrological sign makes a different as
> well ;-) Below is from the settlement:
> Intel shall not include any Artificial Performance Impairment in any
> Intel product or require any Third Party to include an Artificial
> Performance Impairment in the Third Party’s product. As used in this
> Section 2.3, “_Artificial Performance Impairment_” means an
> affirmative engineering or design action by Intel (but not a failure
> to act) that (i) degrades the performance or operation of a Specified
> AMD product, (ii) is not a consequence of an Intel Product Benefit and
> (iii) is made intentionally to degrade the performance or operation of
> a Specified AMD Product. For purposes of this Section 2.3, “_Product
> Benefit_” shall mean any benefit, advantage, or improvement in terms
> of performance, operation, price, cost, manufacturability,
> reliability, compatibility, or ability to operate or enhance the
> operation of another product.
>
> In no circumstances shall this Section 2.3 impose or be construed to
> impose any obligation on Intel to (i) take any act that would provide
> a Product Benefit to any AMD or other non-Intel product, either when
> such AMD or non-Intel product is used alone or in combination with any
> other product, (ii) optimize any products for Specified AMD Products,
> or (iii) provide any technical information, documents, or know how to AMD.
>
>
> But, it is generally accepted that Intel continues to impair the
> optimization on AMD CPU.
> So, to answer your question, I don't think there is any way to insure
> consistent results between Intel and AMD CPUs.
>
> Mark
>
>
> Mark Sale MD
> President, Next Level Solutions, LLC
> www.NextLevelSolns.com <http://www.NextLevelSolns.com>
> 919-846-9185
> A carbon-neutral company
> See our real time solar energy production at:
> http://enlighten.enphaseenergy.com/public/systems/aSDz2458
>


--
Nick Holford, Professor Clinical Pharmacology

First World Conference on Pharmacometrics, 5-7 September 2012 Seoul, Korea http://www.go-wcop.org

Dept Pharmacology & Clinical Pharmacology, Bldg 505 Room 202D University of Auckland,85 Park Rd,Private Bag 92019,Auckland,New Zealand
tel:+64(9)923-6730 fax:+64(9)373-7090 mobile:+64(21)46 23 53
email: n.holf...@auckland.ac.nz
http://www.fmhs.auckland.ac.nz/sms/pharmacology/holford



_________________________________________________________________
NOTICE: The information contained in this electronic mail message is intended only for the personal and confidential use of the designated recipient(s) named above. This message may be an attorney-client communication, may be protected by the work product doctrine, and may be subject to a protective order. As such, this message is privileged and confidential. If the reader of this message is not the intended recipient or an agent responsible for delivering it to the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify us immediately by telephone and e-mail and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies). Thank you.

Reply via email to