How many of you use the SolidWorks SSE parasolid kernel?
How many of you use the SolidWorks SSE parasolid kernel?
(OP)
I guess many of you don't even know what I mean, so a litte explanation first:
===========
DISCLAIMER:
This info is based on my personal experience / findings, this is not coming from SolidWorks!
===========
In SolidWorks the kernel responsible for the geometry functions and consists of a large DLL file (pskernel.dll).
But first a little about CPU instruction sets:
Most modern CPU's support more instructions than just a 'bare' x86 instruction set, namely:
MMX
SSE1
SSE2
SSE3
3DNow
Extended 3DNow
To see which ones your CPU supports check (for instance):
http://www.tommesani.com/InstructionSetCPU.html
Alternatively (if you want to be really sure) you could use the opensource tool "CPU Rightmark":
http://cpu.rightmark.org/download.shtml
The default kernel used in SolidWorks does not use the extra instruction sets, because then they would get lots of complaints from users running SW on hardware that does not support those specific instruction sets.
But SW did us a favour by including an alternate kernel, this time the kernel is compiled to make full use of SSE2 instructions.
This alternate kernel can be found in:
\{SW_Install_Root}\P4\
Or alternatively on your SW install image in:
\{SW_Install_Image}\program files\SolidWorks\P4
Simly copy pskernel.dll over the one in your install root to use the optimized kernel.
======
Now my question is if anyone here uses this and if you have encountered any differences in speed stability.
My results (I use this trick on every SW install I do) are pretty good, but until someone does some actual benchmarking it remains a guestimate. Stability seems to be great on the systems I install.
===========
DISCLAIMER:
This info is based on my personal experience / findings, this is not coming from SolidWorks!
===========
In SolidWorks the kernel responsible for the geometry functions and consists of a large DLL file (pskernel.dll).
But first a little about CPU instruction sets:
Most modern CPU's support more instructions than just a 'bare' x86 instruction set, namely:
MMX
SSE1
SSE2
SSE3
3DNow
Extended 3DNow
To see which ones your CPU supports check (for instance):
http://www.tommesani.com/InstructionSetCPU.html
Alternatively (if you want to be really sure) you could use the opensource tool "CPU Rightmark":
http://cpu.rightmark.org/download.shtml
The default kernel used in SolidWorks does not use the extra instruction sets, because then they would get lots of complaints from users running SW on hardware that does not support those specific instruction sets.
But SW did us a favour by including an alternate kernel, this time the kernel is compiled to make full use of SSE2 instructions.
This alternate kernel can be found in:
\{SW_Install_Root}\P4\
Or alternatively on your SW install image in:
\{SW_Install_Image}\program files\SolidWorks\P4
Simly copy pskernel.dll over the one in your install root to use the optimized kernel.
======
Now my question is if anyone here uses this and if you have encountered any differences in speed stability.
My results (I use this trick on every SW install I do) are pretty good, but until someone does some actual benchmarking it remains a guestimate. Stability seems to be great on the systems I install.
Stefan Hamminga
Mesken BV
2005 Certified SolidWorks Professional
Mechanical designer/AI student






RE: How many of you use the SolidWorks SSE parasolid kernel?
RE: How many of you use the SolidWorks SSE parasolid kernel?
Try the second path I gave (the admin image), I'd have to check the cd's to see on which one it is.
Stefan Hamminga
Mesken BV
2005 Certified SolidWorks Professional
Mechanical designer/AI student
RE: How many of you use the SolidWorks SSE parasolid kernel?
RE: How many of you use the SolidWorks SSE parasolid kernel?
I think what you are seeing is this.* Back around SW2000 time frame the P4 came out and the AMD Athlon's were kicking the P4's butt. Since SW would like to support Intel they had to come up with a solution. Nobody knew what the solution was, only that SW was able to run without speed penalty on P4s once again. I think you found out what SW did and why this directory only appears on certain installs. Now if SW is willing to accommodate the P4's special instruction set, why not AMD also? One could even surmise that parasolid has a multiprocessing kernel that could be used on the current crop of multiprocessing machines.
*I have used 13 releases of SW so I am more familiar with it's history than many here.
RE: How many of you use the SolidWorks SSE parasolid kernel?
Also I think a multiprocessing kernel is quite a bit more of a change than a 'simple' recompile.
But your suggestion does make me think about execution order... x86 code compiled for a P3 (and P-Pro) does take account for a fixed pipeline size (cpu design), if you recompile optimizing for a P4 (by that I mean the x86 P4 code) you would get code optimized for the way longer pipeline. The Athlon64 (and Opteron) prefers P3 type x86 code, but with the P4 SIMD (SSE2) extensions.
This would also explain the P4 boost you talked about.
Stefan Hamminga
Mesken BV
2005 Certified SolidWorks Professional
Mechanical designer/AI student
RE: How many of you use the SolidWorks SSE parasolid kernel?
RE: How many of you use the SolidWorks SSE parasolid kernel?
I build a quick & dirty macro timing a full rebuild. I took a pretty large assemby and the average full force rebuild times were:
Default kernel: 90,8 seconds
SSE2 kernel: 86,1 seconds
For a speed increase of 5,5% (just as much as going from a P4 3.8GHz to a 4.0GHz).
These tests were run on my laptop (Pentium Mobile (dothan) 1.6GHz)
Stefan Hamminga
Mesken BV
2005 Certified SolidWorks Professional
Mechanical designer/AI student
RE: How many of you use the SolidWorks SSE parasolid kernel?
Have a look at this link for explanation of SSE2
http://en.wikipedia.org/wiki/SSE2
Also, I believe Parasolid is multiprocessor enabled which will enable SolidWorks and SolidEdge to be in the future.
bc
RE: How many of you use the SolidWorks SSE parasolid kernel?
Things like synchonization make such a big difference that it is virtually impossible (from a financial & practical standpoint) to build software that can switch between these operating modes.
Stefan Hamminga
Mesken BV
2005 Certified SolidWorks Professional
Mechanical designer/AI student