MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0024227Open CASCADE[OCCT] OCCT:Codingpublic2013-10-06 07:582013-12-19 13:58
Reporterabv 
Assigned Tobugmaster 
PrioritynormalSeverityfeature 
StatusclosedResolutionfixed 
PlatformWindowsOSVC++ 2008OS Version32 bit
Product Version[OCCT] 6.7.0 
Target Version[OCCT] 6.7.0Fixed in Version[OCCT] 6.7.0 
Summary0024227: Enable SSE2 instructions for OCCT building
DescriptionTo gain additional performance, enable SS2 instructions for OCCT building on all relevant platforms.

Testing on Intel CPU under Windows with VS 2008 32-bit gives stable increase of performance about 5.5% on the whole test data base as well as on specific test case on b-spline intersection (perf bspline intersect). See attached Excel file.
TagsNo tags attached.
Test case number
Attached Filesxls file icon CPU-stability-in-tests.xls (36,352 bytes) 2013-10-06 07:58

- Relationships
parent of 0024248closedmkv Open CASCADE SSE2 instructions for OCCT building is reason of regressions 
has duplicate 0022950closedPawel Community /arch:SSE2 compiler option 

-  Notes
(0025916)
abv (manager)
2013-10-06 08:37

I have pushed corrections in test system to work with SSE2 option to branch CR24227. Change of build options needs to be done in WOK
(0025922)
kgv (developer)
2013-10-07 09:05

Patch for WOK has been pushed into CR24227 branch.
(0025924)
abv (manager)
2013-10-07 09:11

Ivan, could you please provide equivalent fix for CMake scripts?
(0025931)
ibs (developer)
2013-10-07 11:04
edited on: 2013-10-07 11:05

abv, i'v added SSE2 into cmake to branch CR24227.

(0025933)
abv (manager)
2013-10-07 11:40

Igor, I suggest you add SSE2 option in automake scripts and test if it works well
(0025986)
abv (manager)
2013-10-09 12:39

I have disables SSE2 option in templates for VS 2012 projects: SSE2 is used by default in VC++ 11, and setting it explicitly causes compiler warnings. The correction is pushed to branch CR24227_IR. Please check that this option is not set for VC++ 11 and above with other build systems (CodeBlocks, CMake).
(0025999)
abv (manager)
2013-10-09 18:26

It is likely that SSE2 option is to be used for 32-bit mode but not 64-bit mode (where it is minimum available level), on all platforms. This is to be checked
(0026064)
bugmaster (administrator)
2013-10-14 12:15

Fix for WOK has been integrated into master of occt-wok repository
(0026117)
abv (manager)
2013-10-17 09:21

I have checked SSE2 on 64-bit mode MSVC compilers and it proves to be useless: vc9 complains on this option (just like vc11), and vc10 produces the same (by performance measurements) code regardless of whether this option is set or not (even if it does not complain). This I have removed this option from 64-bit configurations in MSVC project templates, see branch CR24227_fix in WOK repository. The same change in CMake script (not tested) pushed to branch CR24227_fix in OCCT repository. Please test and integrate.
(0026135)
bugmaster (administrator)
2013-10-18 11:37

There are no warnings concernig sse2
http://jenkins-merge.nnov.opencascade.com:8080/view/A_dashboard_sse2_master/? [^]

- Related Changesets
occt: master 11fca7c1
Timestamp: 2013-10-10 10:41:01
Author: abv
Committer: bugmaster
Details ] Diff ]
0024227: Enable SS2 instructions for OCCT building

Test for exceptions corrected to handle FPE when built with with SSE2 option on Windows (NumericError raised instead of specific exceptions)
New test for performance of bspline intersections added

sse2 added; build bitness hardlinked to compiler

"bitness" variable was hidden
mod - CMakeLists.txt Diff ] File ]
mod - src/QABugs/QABugs_11.cxx Diff ] File ]
add - tests/perf/bspline/intersect Diff ] File ]
mod - tests/perf/grids.list Diff ] File ]
occt: master a55f9281
Timestamp: 2013-10-11 05:55:50
Author: ibs
Committer: bugmaster
Details ] Diff ]
0024227: Enable SSE2 instructions for OCCT building
sse2 if used for just vc7, vc8, vc9 and vc10
mod - CMakeLists.txt Diff ] File ]
occt: master 4d42a1a5
Timestamp: 2013-10-17 05:20:30
Author: abv
Committer: bugmaster
Details ] Diff ]
0024227: Enable SSE2 instructions for OCCT building

CMake script changed: SSE2 option is disabled for 64-bit MSVC compilers (redundant)
mod - CMakeLists.txt Diff ] File ]

- Issue History
Date Modified Username Field Change
2013-10-06 07:58 abv New Issue
2013-10-06 07:58 abv Assigned To => bugmaster
2013-10-06 07:58 abv File Added: CPU-stability-in-tests.xls
2013-10-06 08:37 abv Note Added: 0025916
2013-10-07 09:05 kgv Note Added: 0025922
2013-10-07 09:11 abv Note Added: 0025924
2013-10-07 09:11 abv Assigned To bugmaster => ibs
2013-10-07 09:11 abv Status new => assigned
2013-10-07 11:04 ibs Note Added: 0025931
2013-10-07 11:05 ibs Note Edited: 0025931 View Revisions
2013-10-07 11:06 ibs Assigned To ibs => abv
2013-10-07 11:06 ibs Status assigned => resolved
2013-10-07 11:40 abv Note Added: 0025933
2013-10-07 11:40 abv Assigned To abv => bugmaster
2013-10-07 11:40 abv Status resolved => feedback
2013-10-07 15:13 kgv Summary Enable SS2 instructions for OCCT building => Enable SSE2 instructions for OCCT building
2013-10-09 12:39 abv Note Added: 0025986
2013-10-09 18:26 abv Note Added: 0025999
2013-10-10 11:01 inv Status feedback => reviewed
2013-10-10 11:02 inv Status reviewed => feedback
2013-10-10 11:02 inv Status feedback => resolved
2013-10-10 11:02 inv Status resolved => reviewed
2013-10-10 11:03 bugmaster Status reviewed => tested
2013-10-10 11:38 mkv Relationship added parent of 0024248
2013-10-11 13:35 bugmaster Changeset attached => occt master a55f9281
2013-10-11 13:35 bugmaster Changeset attached => occt master 11fca7c1
2013-10-11 13:35 bugmaster Status tested => verified
2013-10-11 13:35 bugmaster Resolution open => fixed
2013-10-14 12:15 bugmaster Note Added: 0026064
2013-10-17 09:21 abv Note Added: 0026117
2013-10-18 11:37 bugmaster Note Added: 0026135
2013-10-18 13:47 bugmaster Changeset attached => occt master 4d42a1a5
2013-10-21 13:22 Pawel Relationship added has duplicate 0022950
2013-12-19 13:51 bugmaster Status verified => closed
2013-12-19 13:58 bugmaster Fixed in Version => 6.7.0
2014-01-11 11:58 abv Category OCCT Release:BUILD => OCCT:Coding


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker