Thanks for all your comments and now I understand that there could be always slight differences between different CPU/architecture.

However, Would it possible that there could be differences in successful minimizations in nonmem runs. For example, for a same model, in one CPU/architecture the model run is minimized successfully with covariance step and in the other the run is terminated with rounding error.

I would like to say that I have not faced this problem yet. Just a question, to learn from your experience.

regards,
Martin

On 08/13/2012 03:13 PM, Bob Leary wrote:
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