View Issue Details

IDProjectCategoryView StatusLast Update
0024405Open CASCADEOCCT:Foundation Classespublic2014-11-11 12:59
Reporterkgv Assigned Toapn  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
PlatformAOSL 
Target Version6.8.0Fixed in Version6.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

Relationships

related to 0024534 closedabv Open CASCADE Improve design of Image_PixMap class 

Activities

abv

2013-11-27 09:43

manager   ~0026938

Some implementation should be provided in CR24238, please have a look

kgv

2014-04-01 08:31

developer   ~0028573

Patch is ready for review in branch CR24405.

abv

2014-04-02 09:46

manager   ~0028615

No remarks, please test

mkv

2014-04-03 11:28

tester   ~0028646

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

2014-04-03 12:31:35

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
Affected Issues
0024405
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
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