Revision 4185a5162d656d0bdb87a2599198e29c516d6470 authored by Harshitha on 10 May 2014, 01:33:10 UTC, committed by Harshitha on 25 July 2014, 19:22:59 UTC
commit 6a10d6aa7d83ecb6323aa033ef82d69fec0392ff Author: Harshitha <gplkrsh2@illinois.edu> Date: Fri May 2 14:17:23 2014 -0500 Call TPWorkDone before finishWalk Change-Id: Ib118d156cb01f0b93a55176a98d8164c26933290 commit 3f599bb98488be2a1c73d28e799ba196a927d586 Author: Harshitha <gplkrsh2@illinois.edu> Date: Mon Apr 28 20:49:58 2014 -0500 Intra node load balancing using CkLoop commit 760de0f3b7d294712e11cdec74b30311a7bf540e Author: Harshitha <gplkrsh2@illinois.edu> Date: Mon Apr 28 19:48:42 2014 -0500 Intra node load balancing using CkLoop Change-Id: Ib21eb0a0d2a37e765ee3064ce420b1b310621185 Change-Id: Id1b94c1aef9257161f65ccddd27b1c756dc9d323
1 parent b462e34
SSEdefs.h
#ifndef __SSEDEFS_H__
#define __SSEDEFS_H__
#ifdef COSMO_FLOAT
#define CONVERT_TO_COSMO_TYPE (float)
typedef float cosmoType;
#define COSMO_CONST(val) val##f
#else
#define CONVERT_TO_COSMO_TYPE
typedef double cosmoType;
#define COSMO_CONST(val) val
#endif
#if CMK_USE_FMA4
#if !defined(__FMA4__)
#undef CMK_USE_FMA4
#define CMK_USE_FMA4 0
#else
#warning "using FMA4"
#endif
#endif
#if CMK_USE_SSE2 && !defined(__SSE2__)
#undef CMK_USE_SSE2
#define CMK_USE_SSE2 0
#endif
#if CMK_USE_FMA4 || CMK_USE_SSE2
#define CMK_SSE 1
#endif
#if CMK_USE_FMA4
#ifndef COSMO_FLOAT
#include "SSE-Double.h"
#define SSE_VECTOR_WIDTH 4
#define FORCE_INPUT_LIST_PAD 3
typedef SSEDouble SSEcosmoType;
#define SSELoad(where, arr, idx, field) where(arr[idx]field, arr[idx+1]field, arr[idx+2]field, arr[idx+3]field)
#define SSEStore(what, arr, idx, field) { \
double p[4]; \
storeu(p, what); \
arr[idx]field = p[0]; \
arr[idx+1]field = p[1]; \
arr[idx+2]field = p[2]; \
arr[idx+3]field = p[3]; \
}
enum { cosmoMask=0xf };
#endif /* COSMO_FLOAT */
#elif CMK_USE_SSE2
#ifdef COSMO_FLOAT
#include "SSE-Float.h"
#define SSE_VECTOR_WIDTH 4
#define FORCE_INPUT_LIST_PAD 3
typedef SSEFloat SSEcosmoType;
#define SSELoad(where, arr, idx, field) where(arr[idx]field, arr[idx+1]field, arr[idx+2]field, arr[idx+3]field)
#define SSEStore(what, arr, idx, field) { \
float p[4]; \
storeu(p, what); \
arr[idx]field = p[0]; \
arr[idx+1]field = p[1]; \
arr[idx+2]field = p[2]; \
arr[idx+3]field = p[3]; \
}
enum { cosmoMask=0xf };
#else
#include "SSE-Double.h"
#define SSE_VECTOR_WIDTH 2
#define FORCE_INPUT_LIST_PAD 1
typedef SSEDouble SSEcosmoType;
#define SSELoad(where, arr, idx, field) where(arr[idx]field, arr[idx+1]field)
#define SSEStore(what, arr, idx, field) { \
storel(&arr[idx]field, what); \
storeh(&arr[idx+1]field, what); \
}
enum { cosmoMask=0x3 };
#endif /* end of COSMO_FLOAT under CMK_USE_SSE2 */
#endif /* CMK_USE_FMA4 */
#endif /* end of __SSEDEFS_H__ */
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...