Skip to content

Commit

Permalink
Merge pull request #82 from slizzered/doku_for_release2_1_0_crp
Browse files Browse the repository at this point in the history
Doku for release2.1.0crp
  • Loading branch information
ax3l committed Feb 11, 2015
2 parents eabb314 + af1b63e commit b62dfa5
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 17 deletions.
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,27 @@
Change Log / Release Log for mallocMC
================================================================

2.1.0crp
-------------
**Date:** 2015-02-09

This release fixes some bugs that occured after the release of 2.0.1crp and reduces the interface to improve interoperability with the default CUDA allocator.
We closed all issues documented in
[Milestone *New Features*](https://github.com/ComputationalRadiationPhysics/mallocMC/issues?milestone=3&state=closed)

### Changes to mallocMC 2.0.1crp

**Features**
- the possibility to overwrite the default implementation of new/delete and malloc/free was removed #72. **This changes the interface**, since users are now always forced to call `mallocMC::malloc()` and `mallocMC::free()`. This is intended to improve readability and allows to use the CUDA allocator inside mallocMC.
- the policy *Scatter* now places the onpagetables data structure at the end of a page. This can greatly improve performance when using large pages and `resetfreedpages=true` #80

**Bug fixes**
- in the policy *Scatter*, `fullsegments` and `additional_chunks` could grow too large in certain configurations #79

**Misc:**
- See the full changes at https://github.com/ComputationalRadiationPhysics/mallocMC/compare/2.0.1crp...2.1.0crp


2.0.1crp
-------------
**Date:** 2015-01-13
Expand Down
4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

Copyright (C) 2012 Institute for Computer Graphics and Vision,
Graz University of Technology
Copyright (C) 2014 Institute of Radiation Physics,
Helmholtz-Zentrum Dresden - Rossendorf
Copyright (C) 2014-2015 Institute of Radiation Physics,
Helmholtz-Zentrum Dresden - Rossendorf

Author(s): Markus Steinberger - steinberger ( at ) icg.tugraz.at
Bernhard Kainz - kainz ( at ) icg.tugraz.at
Expand Down
21 changes: 6 additions & 15 deletions Usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,27 +94,18 @@ To create a default instance of the ScatterAllocator type and add the necessary
functions, the following Macro has to be executed:

```c++
POLICYMALLOC_SET_ALLOCATOR_TYPE(ScatterAllocator)
MALLOCMC_SET_ALLOCATOR_TYPE(ScatterAllocator)
```
This will set up the following functions in the namespace `mallocMC`:
| Name | description |
|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| InitHeap() | Initializes the heap. Must be called before any other calls to the allocator are permitted. Can take the desired size of the heap as a parameter |
| finalizeHeap() | Destroys the heap again |
| pbMalloc() / malloc() | Allocates memory on the accelerator |
| pbFree() / free() | Frees memory on the accelerator |
| getAvailableSlots() | Determines number of allocatable slots of a certain size. This only works, if the chose CreationPolicy supports it (can be found through `mallocMC::Traits<ScatterAllocator>::providesAvailableSlots`) |
If the policy class `OldMalloc` is **not** used, it is also possible to execute
the Macro
```c++
POLICYMALLOC_OVERWRITE_MALLOC()
```

which will overwrite the global functions `malloc()`/`free()` on the accelerator
(for NVIDIA CUDA accelerators, this will also replace calls to `new` and `delete`).
| mallocMC::initHeap() | Initializes the heap. Must be called before any other calls to the allocator are permitted. Can take the desired size of the heap as a parameter |
| mallocMC::finalizeHeap() | Destroys the heap again |
| mallocMC::malloc() | Allocates memory on the accelerator |
| mallocMC::free() | Frees memory on the accelerator |
| mallocMC::getAvailableSlots() | Determines number of allocatable slots of a certain size. This only works, if the chosen CreationPolicy supports it (can be found through `mallocMC::Traits<ScatterAllocator>::providesAvailableSlots`) |
Step 4: use dynamic memory allocation
Expand Down

0 comments on commit b62dfa5

Please sign in to comment.