MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0024405Open CASCADE[OCCT] OCCT:Foundation Classespublic2013-11-26 20:292014-11-11 12:59
Reporterkgv 
Assigned Toapn 
PrioritynormalSeverityfeature 
StatusclosedResolutionfixed 
PlatformAOSLOS VersionL
Product Version 
Target Version[OCCT] 6.8.0Fixed in Version[OCCT] 6.8.0 
Summary0024405: TKernel - add aligned allocator class NCollection_AlignedAllocator
DescriptionThe SSE optimizations require pointer aligned at 16 bytes boundary.
However at this moment TKernel doesn't ship any allocator with guarantied alignment which complicates usage of such optimizations.

It is suggested to implement new class Standard_MMgrAligned which implements aligned allocator using platform-specific APIs.

New API should be used instead of MemAllocAligned/MemFreeAligned functions declared within Image_PixMap.cxx.

In addition, DEFINE_STANDARD_ALIGNED_ALLOC macro, NCollection_AlignedAllocator might be considered as well.
TagsNo tags attached.
Test case numberNot needed
Attached Files

- Relationships
related to 0024534closedabv Open CASCADE Improve design of Image_PixMap class 

-  Notes
(0026938)
abv (manager)
2013-11-27 09:43

Some implementation should be provided in CR24238, please have a look
(0028573)
kgv (developer)
2014-04-01 08:31

Patch is ready for review in branch CR24405.
(0028615)
abv (manager)
2014-04-02 09:46

No remarks, please test
(0028646)
mkv (tester)
2014-04-03 11:28

Dear BugMaster,

Branch CR24405 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
SHA-1: d11d3ec14354608ab522d54567b2f338f55d84d1

Number of compiler warnings:

occt component :
Linux: 27 (27 on master)
Windows: 0 (0 on master)

products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 394510388 / 393242136
Total CPU difference: 53564.59999999996 / 57189.309999999896

Testing on Windows:
Total MEMORY difference: 422643012 / 414274688
Total CPU difference: 39391.015625 / 42798.984375

There are no differences in images found by testdiff.

- Related Changesets
occt: master acc62560
Timestamp: 2014-04-03 12:31:35
Author: kgv
Committer: apn
Details ] Diff ]
0024405: TKernel - add aligned allocator class Standard_MMgrAligned

New class NCollection_AlignedAllocator.
New macros STANDARD_ALIGNED.
New methods Standard::AllocateAligned() and Standard::FreeAligned().
Add missing Standard_EXPORT
mod - src/Image/Image_PixMap.cxx Diff ] File ]
mod - src/NCollection/FILES Diff ] File ]
add - src/NCollection/NCollection_AlignedAllocator.cxx Diff ] File ]
add - src/NCollection/NCollection_AlignedAllocator.hxx Diff ] File ]
mod - src/Standard/Standard.cdl Diff ] File ]
mod - src/Standard/Standard.cxx Diff ] File ]
mod - src/Standard/Standard_DefineAlloc.hxx Diff ] File ]

- Issue History
Date Modified Username Field Change
2013-11-26 20:29 kgv New Issue
2013-11-26 20:29 kgv Assigned To => abv
2013-11-26 20:30 kgv Assigned To abv => kgv
2013-11-26 20:30 kgv Status new => assigned
2013-11-27 09:43 abv Note Added: 0026938
2013-11-27 09:43 abv Relationship added related to 0024238
2014-03-29 18:53 kgv Relationship added related to 0024534
2014-04-01 08:31 kgv Note Added: 0028573
2014-04-01 08:31 kgv Assigned To kgv => abv
2014-04-01 08:31 kgv Status assigned => resolved
2014-04-02 09:46 abv Note Added: 0028615
2014-04-02 09:46 abv Assigned To abv => bugmaster
2014-04-02 09:46 abv Status resolved => reviewed
2014-04-02 10:19 mkv Assigned To bugmaster => mkv
2014-04-03 11:28 mkv Note Added: 0028646
2014-04-03 11:29 mkv Test case number => Not needed
2014-04-03 11:29 mkv Assigned To mkv => bugmaster
2014-04-03 11:29 mkv Status reviewed => tested
2014-04-04 14:00 abv Target Version 6.7.1 => 6.8.0
2014-04-04 17:03 apn Changeset attached => occt master acc62560
2014-04-04 17:03 apn Assigned To bugmaster => apn
2014-04-04 17:03 apn Status tested => verified
2014-04-04 17:03 apn Resolution open => fixed
2014-10-06 10:59 kgv Summary TKernel - add aligned allocator class Standard_MMgrAligned => TKernel - add aligned allocator class NCollection_AlignedAllocator
2014-11-11 12:44 aiv Fixed in Version => 6.8.0
2014-11-11 12:59 aiv Status verified => closed


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker