Chaos Corona Forum

Chaos Corona for 3ds Max => [Max] Corona Goodies - User Contributions => Topic started by: Ondra on 2012-09-20, 17:55:52

Title: Obsolete CPU detection
Post by: Ondra on 2012-09-20, 17:55:52
Here is a simple utility, that tells you, if your CPU supports the full-speed Corona with latest instructions. If not, you have to use the legacy build, which is quite slower.

To use it, simply run the exe, and see, what it prints in the popup about SSE 4.1 instructions - supported means you can run the full-speed Corona build
Title: Re: Obsolete CPU detection
Post by: Paul Jones on 2012-09-20, 19:07:46
Thank you! Sure you aren't rubbing it in that I've got obselete xeons?
Title: Re: Obsolete CPU detection
Post by: Ondra on 2012-09-20, 19:21:56
Thank you! Sure you aren't rubbing it in that I've got obselete xeons?
No! I would never ;) (http://www.youtube.com/watch?v=lWDC3HJd56I)

Title: Re: Obsolete CPU detection
Post by: racoonart on 2012-09-20, 19:24:12
best utility ever.. I think I'll use it more than once ;)
Title: Re: Obsolete CPU detection
Post by: Ondra on 2012-09-23, 11:58:40
best utility ever.. I think I'll use it more than once ;)

Warning: multiple use will not give obsolete CPUs magical power to run full-speed Corona ;)
Title: Re: Obsolete CPU detection
Post by: Chakib on 2012-10-24, 12:09:09
sad for me i must use the legacy version, but hey it's not that bad too i like the speed lol
Title: Re: Obsolete CPU detection
Post by: khoscorona on 2013-07-02, 18:47:58
hi. how can i monitoring thats all still working well. give me a point... please
Title: Re: Obsolete CPU detection
Post by: borislemke on 2013-07-10, 15:52:00
Hi devs, I use a Dell XPS 14 Ultrabook as my 3D modelling tool for on the go. I have an i7 CPU running @ 1.9GHz(2.4GHz with TurboBoost), 8GB of RAM and Windows 8 64x. When installing Corona, it does say that my Ultrabook is able to run Corona at full speed, however, I was wondering on how this tool actually work or what minimum hardware spec is needed to do so? I was just wondering how people could have "weaker" specs than my Ultrabook :)
Title: Re: Obsolete CPU detection
Post by: Laucha1 on 2013-11-26, 17:35:08
I test it and get "supported" but i'm using AMD processor and its much slower than Intel i series!
Title: Re: Obsolete CPU detection
Post by: klipanos on 2013-11-28, 21:13:59
You are making a fantastic job!!!! Superb!!!
test it all well!!!
Title: Re: Obsolete CPU detection
Post by: Rotem on 2013-12-08, 15:31:38
I was wondering on how this tool actually work or what minimum hardware spec is needed to do so? I was just wondering how people could have "weaker" specs than my Ultrabook :)

It's not about power, it's about age. SSE4.1 instructions were introduced with the Penryn architecture (Core 2 Quad 9XXX series and up), not matter what frequency your CPU runs at.


@KeyMaster:
Are there any plans to make use of AVX (or AVX2 :)) instructions? I'd say anyone who cares about the performance of their renderer already owns AVX compliant hardware.
Title: Re: Obsolete CPU detection
Post by: Ondra on 2013-12-08, 16:55:47
@KeyMaster:
Are there any plans to make use of AVX (or AVX2 :)) instructions? I'd say anyone who cares about the performance of their renderer already owns AVX compliant hardware.

Not for few years, I do not want to keep 3 versions of the application, plus AVX is missing a lot of instructions, plus MSVS support is horrible (it even does not support the 32B align, how the fuck am I supposed to work with it?!), plus the speed improvement is negligible in my use-case (embree with AVX is slower than without)
Title: Re: Obsolete CPU detection
Post by: Rotem on 2013-12-08, 17:28:51
I undestand about all the points, I just don't understand what you mean by MSVS does not support 32B align. Does _aligned_malloc and declspec(align(32)) not work? (I haven't tried working with AVX myself, just curious).
Title: Re: Obsolete CPU detection
Post by: Ondra on 2013-12-08, 17:35:30
last time I tried I was unable to get the proper alignment. _aligned_malloc might work (or you can write your own), so with custom new operator heap allocations can be handled (but still this is unnecessary work), but I still had problems with stack variables. There is a compiler switch /Zp that de-facto specifies maximum allowed alignment (http://msdn.microsoft.com/en-us/library/xh3e3fd0.aspx), and 32 is invalid value in MSVC 2010.
Title: Re: Obsolete CPU detection
Post by: Rotem on 2013-12-08, 17:39:36
Kinda silly of them, considering you can manually specify alignment to any power of 2 degree ( http://msdn.microsoft.com/en-us/library/83ythb65.aspx ).
Thanks for the clarification, good job on your renderer :)
Title: Re: Obsolete CPU detection
Post by: Ondra on 2013-12-08, 17:51:14
maybe I was doing something wrong, but  I was just unable to get any non-first member variable aligned ;)