Azzera filtri
Azzera filtri

How to change Floating Point Control Word (FPCW) in MATLAB?

4 visualizzazioni (ultimi 30 giorni)
Hello All,
Does anyone knows how to change Floating Point Control Word (FPCW) in MATLAB, either increase or decrease it?
I'm using MATLAB15a.
Thanks,

Risposte (2)

Walter Roberson
Walter Roberson il 3 Set 2015
Modificato: Walter Roberson il 4 Set 2015
You can find more information about system_dependent on undocumentedmatlab.com .
Note: system_dependent only allows float control in MS Windows.
  4 Commenti
Steven Lord
Steven Lord il 12 Ago 2020
bel yon, why do you need or want to change the floating point control word?
bel yon
bel yon il 15 Ago 2020
Modificato: bel yon il 15 Ago 2020
Thank you for the quick response. It seems that the MATLAB's precision must be only 24, 53 or 64?
I am using the MATLAB COM interface for OpenDSS, where OpenDSS uses 80-bit floating-point values. more detailes in the discussion: https://sourceforge.net/p/electricdss/discussion/861976/thread/d3d147ec/#c3a2

Accedi per commentare.


Fred
Fred il 4 Set 2015
I have seen the link but I could not quite get what should I do, and also the thing they are doing it in C but I'm using pure Matlab, I need something more like for normal MATLAB users.
  2 Commenti
Walter Roberson
Walter Roberson il 4 Set 2015
You will need to be specific about which operating system you are using and which possibilities you want the user to be able to select.
The documentation that I am scanning indicates that the FPCW handles only the x87 FPU calculations, and that these days a lot of calculations are done in SSE and SSE2 instructions which use a different control register http://developer.amd.com/community/blog/2009/07/06/ieee-floating-point-exception-handling-in-windows-os/ . MATLAB calls into highly optimized libraries for larger calculations, and those optimized libraries are likely to be using SSE* or whatever post-x87 they can leverage because x87 performance is not scalable. If you adjust the FPCW you run into the possibility that the output behavior you see will depend upon the size of your data in ways that are not intuitive, with "small" calculations being affected (because they might run on x87) and "big" calculations not being affected (because they run on higher performance architectures, possibly even GPUs.)
Steven Lord
Steven Lord il 4 Set 2015
If you're using "pure Matlab[sic]" then you shouldn't really NEED to fiddle with the FPCW. What is your use case for doing so?

Accedi per commentare.

Categorie

Scopri di più su Parallel Computing Fundamentals in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by