23 #include <gtest/gtest.h>
28 #ifndef OpenMP_NOT_FOUND
56 double *loc1 = *global1;
57 double *loc2 = *global2;
58 double *loc3 = *global3;
60 for (
unsigned int i = 0; i < 2; ++i ) {
61 ASSERT_NO_FATAL_FAILURE ( loc1[i] = i );
62 ASSERT_NO_FATAL_FAILURE ( loc2[i] = i );
63 ASSERT_NO_FATAL_FAILURE ( loc3[i] = i );
103 const double *loc1 = *global1;
104 const double *loc2 = *global2;
105 const double *loc3 = *global3;
108 for (
unsigned int i = 0; i < 2; ++i ) {
109 ASSERT_NO_FATAL_FAILURE ( dummy = loc1[i] );
110 ASSERT_NO_FATAL_FAILURE ( dummy = loc2[i] );
111 ASSERT_NO_FATAL_FAILURE ( dummy = loc3[i] );
131 const unsigned int count = 5;
137 double *loc = *global;
139 for (
unsigned int i = 0; i < count; ++i ) {
148 for (
unsigned int i = 0; i < count; ++i ) {
149 EXPECT_EQ ( i, loc[i] );
155 #ifndef OpenMP_NOT_FOUND
161 const int count = 100;
165 #pragma omp parallel for
166 for (
int n = 0; n < count; ++n ) {
167 ADHERETO (
double, ptr );
170 ADHERETOLOC (
double, ptr, ptrloc );
171 for (
int n = 0; n < count; ++n ) {
172 EXPECT_EQ ( n, ptrloc[n] );
176 #pragma omp parallel for
177 for (
int n = 0; n < count; ++n ) {
181 for (
int n = 0; n < count; ++n ) {
182 EXPECT_EQ ( n * n, ptrloc[n] );
192 const unsigned int count = 5;
198 double *loc1 = *global1;
202 for (
unsigned int i = 0; i < count; ++i ) {
212 ASSERT_NO_THROW ( loc2 = *global2 );
213 ASSERT_EQ ( loc1, loc2 );
215 for (
unsigned int i = 0; i < count; ++i ) {
216 EXPECT_EQ ( i, loc2[i] );
219 ASSERT_NO_THROW (
delete global2 );
221 for (
unsigned int i = 0; i < count; ++i ) {
222 EXPECT_EQ ( i, loc2[i] );
225 ASSERT_NO_THROW (
delete global1 );
232 const unsigned int count = 5;
238 double *loc1 = *global1;
242 for (
unsigned int i = 0; i < count; ++i ) {
253 ASSERT_NO_THROW (
delete global1 );
254 ASSERT_NO_THROW (
delete global2 );
264 const unsigned int count = 5;
269 ASSERT_NO_FATAL_FAILURE ( ADHERETOLOC (
double, ptr, loc );
270 for (
unsigned int i = 0; i < count; ++i ) {
274 ASSERT_NO_FATAL_FAILURE ( ADHERETOLOCCONST (
double, ptr, loc );
275 for (
unsigned int i = 0; i < count; ++i ) {
276 EXPECT_EQ ( i, loc[i] );
285 const unsigned int count = 5;
293 double *loc1 = global1;
295 for (
unsigned int i = 0; i < count; ++i ) {
304 for (
unsigned int i = 0; i < count; ++i ) {
305 double *loc2 = global2;
306 double *loc3 = global3;
308 EXPECT_EQ ( i, loc2[i] );
309 EXPECT_EQ ( i, loc3[i] );
Main class to fetch memory that is managed by rambrain for actual usage.
Main class to allocate memory that is managed by the rambrain memory defaultManager.
const global_bytesize kib
scheduler working with a double linked cycle. Details see paper.
A dummy swap that just copies swapped out chunks to a different location in ram.
TEST(adhereTo, Unit_LoadUnload)
Backend class to handle raw memory and interaction/storage with managedSwap.