Skip to content

Conversation

@psychocoderHPC
Copy link
Member

This pull request use mallocMC to manage the shared species memory.

  • add mallocMC to CMakeLists.txt
  • add PointerWrapper class Pointer<>
  • delete old Heap- and RingBuffer/Boxes
  • remove the possibility that species device memory can directly copied to host memory

Tests:

  • KHI heating comparison to current dev
  • add more documentation

Do not merge before #717

@psychocoderHPC psychocoderHPC added this to the Open Beta milestone Jan 21, 2015
@psychocoderHPC psychocoderHPC added component: core in PIConGPU (core application) component: PMacc in PMacc feature refactoring code change to improve performance or to unify a concept but does not change public API labels Jan 21, 2015
@ax3l ax3l removed the refactoring code change to improve performance or to unify a concept but does not change public API label Jan 21, 2015
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for now: +EXACT due to upcoming interface changes in mallocMC 2.1.0

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok for now, but as talked offline: we will simply add a include in the final version to reduce install dependencies.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

opened #717

@ax3l
Copy link
Member

ax3l commented Feb 16, 2015

looks good 👍

@psychocoderHPC
Copy link
Member Author

This version needs a small refactoring against the current mallocMC release.
I am back tomorrow and will do this.

@ax3l
Copy link
Member

ax3l commented Feb 16, 2015

fantastico! ✨

@psychocoderHPC
Copy link
Member Author

After our compile suite is updated it is ready to merge.

@psychocoderHPC
Copy link
Member Author

electron/positron heating on 16gpus
heating

@ax3l
Copy link
Member

ax3l commented Feb 17, 2015

After our compile suite is updated it is ready to merge.

I will update it asap - nevertheless, I think we should

  • import mallocMC via subtree
    before we can merge :)

@psychocoderHPC
Copy link
Member Author

rebased against #717

- add `mallocMC` to CMake
- add previues and next pointer to the `Frame` class
- add PointerWrapper class `Pointer<>`
delete not maintained classes
- add documentation
- CMakeLists.txt: search for exact `mallocMC` version
- ParticlesFunctors.hpp: fix hard coded `FrameType`
add threadfence_block() after one thread cleared all `multi masks`.
- change github annotations
- change pagesize to 2MiB
- set reset free pages to `true`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pls revert the changes in this file

@psychocoderHPC psychocoderHPC force-pushed the topic-useMallocMC-rb2 branch 2 times, most recently from 90ef4d1 to 8e088ea Compare February 20, 2015 14:35
- ParticleBox:
  - remove host modifier for all methods
  - use mallocMC::malloc and mallocMC::free
@ax3l
Copy link
Member

ax3l commented Feb 20, 2015

It would be cool if we could add a plain benchmark "before" - "after" mallocMC (without plugins) to just document the performance stayed the same.
(last time we did that check we found some bugs that were then fixed in mallocMC)

@psychocoderHPC
Copy link
Member Author

Runtime KHI 3d Esirkepov [in seconds] on 16 K80 GPUs 10k simulation steps:

init simulation
dev 26 1575
branch 10 1569

@ax3l
Copy link
Member

ax3l commented Feb 20, 2015

well done, good work! 👍

ax3l added a commit that referenced this pull request Feb 20, 2015
@ax3l ax3l merged commit 699c983 into ComputationalRadiationPhysics:dev Feb 20, 2015
@PrometheusPi
Copy link
Member

👍 cool

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component: core in PIConGPU (core application) component: PMacc in PMacc

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants