亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? marsds.h

?? GPU實現的MapReduce framework,對于學習并行編程和cuda平臺的編程方面有著極好的參考價值
?? H
字號:
/**
 *This is the source code for Mars, a MapReduce framework on graphics
 *processors.
 *Author: Wenbin Fang (HKUST), Bingsheng He (HKUST)
 *Mentor: Naga K. Govindaraju (Microsoft Corp.), Qiong Luo (HKUST), Tuyong
 *Wang (Sina.com).
 *If you have any question on the code, please contact us at {saven,
 *wenbin, luo}@cse.ust.hk.
 *The copyright is held by HKUST. Mars is provided "as is" without any 
 *guarantees of any kind.
 */

//Data structures
#ifndef __MARSDS_H__
#define __MARSDS_H__

//-----------------------------------------------
//used in MarsSort, for gpu bitonic sort
//defined by saven
//-----------------------------------------------
typedef int4 cmp_type_t;

//-----------------------------------------
//describe big chunk and small chunk
//-----------------------------------------
typedef struct
{
	//buffers
	char	*keys;
	char	*vals;
	int4	*index;
	int2	*keyListRange;

	//size info
	size_t	keySize;
	size_t	valSize;
	size_t	indexSize;
	size_t	rangeSize;

	//count
	size_t	recCount;
	size_t	diffKeyCount;

	//position info
	size_t	fileCursor;
	size_t	keyOffset;
	size_t	valOffset;
} ChunkInfo_t;

//--------------------------------------------------
//for external merge sort
//1, maintain the big chunk info
//2, maintain the small chunk info
//--------------------------------------------------
typedef struct
{
	char *keys;
	size_t keyOffset;
	size_t keySize;

	char *vals;
	size_t valOffset;
	size_t valSize;

	int4 *index;
	size_t recCount;
	size_t indexOffset;
	size_t indexSize;

	int2 *keyListRange;
	size_t diffKeyCount;
	size_t rangeOffset;
	size_t rangeSize;

	size_t smallCursor;
	size_t cursor;
} SortChunk_t;

typedef struct
{
	char *key;
	char *val;
	size_t keySize;
	size_t valCount;
	size_t allKeySize;
	size_t allValSize;
	int4 *index;
	int2 keyListRange;
} SortRec_t;

typedef struct
{
	SortChunk_t *chunks;
	size_t fullChunkCount;
	size_t realChunkCount;
} SortInfo_t;

//----------------------------------------
//for scheduler
//----------------------------------------
typedef struct
{
	ChunkInfo_t	inputSmallChunk;
	ChunkInfo_t	outputSmallChunk;

	size_t cpuMapThreadNum;
	size_t cpuReduceThreadNum;

	size_t gpuMapGridDim;
	size_t gpuMapBlockDim;
	size_t gpuReduceGridDim;
	size_t gpuReduceBlockDim;

	size_t gpuMapSharedMemSize;
	size_t gpuReduceSharedMemSize;
}Schedule_t;

//----------------------------------------
//for filename
//----------------------------------------
typedef struct
{
	char	*keyFile;
	char	*valFile;
	char	*indexFile;
	char	*rangeFile;
} FileName_t;

//----------------------------------------
//runtime configuration
//Note:
//Used in the only one global varible g_spec.
//----------------------------------------
typedef struct
{
	//------------------------------------
	//Usage: if (mode & state) ... else ...
	//state applicable:
	//USE_FILE /USE_MEM
	//GPU / CPU
	//MAP_ONLY / MAP_SORT / MAP_SORT_REDUCE
	//------------------------------------
	char mode;

	//used in gpu mode
	char cpuSort;

	//---------------------------------------
	//if (mode & USE_FILE) then use file
	//---------------------------------------
	FileName_t inputFile;
	FileName_t interFile;
	FileName_t outputFile;
	FileName_t tmpFile;
	FileName_t gpuInterFile;
	FileName_t cpuInterFile;
	FileName_t gpuOutputFile;
	FileName_t cpuOutputFile;
	size_t flushThreshhold;

	//----------------------------------------
	//thread number
	//----------------------------------------
	size_t cpuMapThreadNum;
	size_t cpuReduceThreadNum;

	size_t gpuMapGridDim;
	size_t gpuMapBlockDim;
	size_t gpuReduceGridDim;
	size_t gpuReduceBlockDim;

	//-----------------------------------------
	//gpu shared memory size
	//-----------------------------------------
	size_t gpuMapSharedMemSize;
	size_t gpuReduceSharedMemSize;

	//----------------------------------------
	//ratio of gpu input
	//(0.0, 1.0)
	//----------------------------------------
	float gpuInputRatio;

	//----------------------------------------
	//buffer
	//----------------------------------------
	ChunkInfo_t *inputChunk;
	ChunkInfo_t *interChunk;
	ChunkInfo_t *outputChunk;

	SortInfo_t *sortInfo;

	//----------------------------------------
	//scheduler
	//----------------------------------------
	Schedule_t *gpuSched;
	Schedule_t *cpuSched;

	//----------------------------------------
	//for iterators
	//----------------------------------------
	size_t totalInputRecCount;
	size_t totalInterRecCount;
	size_t totalDiffKeyCount;
	size_t totalOutputRecCount;

} Spec_t;

//record iterator
typedef struct
{
	ChunkInfo_t *chunk;
	size_t cursor;
	
	size_t fileCursor; //used when read from files
	size_t totalRecCount; //used when read from files
	size_t chunkSize; //used when read from files
	FileName_t *file;
} RecIterator_t;

//a record
typedef struct
{
	char *key;
	char *val;
	size_t keySize;
	size_t valSize;
	size_t keyOffset;
	size_t valOffset;
} Record_t;

//group iterator
typedef struct
{
	ChunkInfo_t *chunk;
	size_t cursor;
	
	size_t fileCursor; //used when read from files
	size_t totalGroup; //used when read from files
	size_t chunkSize; //used when read from files
	FileName_t *file;
} GroupIterator_t;

//a group
typedef struct
{
	char *key;
	char *vals;
	int4 *index;
	size_t keySize;
	size_t valCount;
	size_t startIndex;
	size_t endIndex;
	size_t cursor;
} Group_t;

//used in MapCount and ReduceCount
typedef struct
{
	char*	inKeys;
	char*	inVals;
	int4*	inIndex;
	int2*	inKeyListRange;
	size_t*	interKeySizePerThread;
	size_t*	interValSizePerThread;
	size_t*	interCountPerThread;
	size_t recCount; 
	size_t recPerThread;
	size_t threadNum;
	size_t keyOffset;
	size_t valOffset;
} CountArg_t;

//used in Map and Reduce
typedef struct
{
	char*	inKeys;
	char*	inVals;
	int4*	inIndex;
	int2*	inKeyListRange;
	size_t*	psKeySizes;
	size_t*	psValSizes;
	size_t*	psCounts;
	int2*	keyValOffsets;
	char*	outKeys;
	char*	outVals;
	int4*	outIndex;
	size_t*	curIndex;
	size_t	recCount; 
	size_t	recPerThread;
	size_t	threadNum;
} WorkerArg_t;

//for timer
extern double map_time;
extern double merge_inter_time;
extern double reduce_time;
extern double merge_output_time;
extern double group_time;
extern double io_time;

typedef struct  
{
	int x;
	int y;
	int z;
	int w;
	int v;
} int5;
#endif //__MARSDS_H__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
正在播放一区二区| 国产日韩成人精品| 在线观看日韩国产| 成人精品亚洲人成在线| 久久激五月天综合精品| 一区二区理论电影在线观看| 中文字幕中文字幕一区二区 | 欧美精品一区二区久久婷婷| 在线不卡一区二区| 欧美日韩在线播放三区| 91国偷自产一区二区三区观看| 成人毛片老司机大片| 国产一区二区91| 国产一区在线看| 精品亚洲国内自在自线福利| 久久国产尿小便嘘嘘| 老司机精品视频在线| 欧美aaa在线| 青椒成人免费视频| 日本亚洲一区二区| 热久久免费视频| 麻豆专区一区二区三区四区五区| 日韩中文字幕亚洲一区二区va在线 | 日韩三级在线观看| 欧美大胆一级视频| 久久婷婷一区二区三区| 一区二区三区在线免费| 久久机这里只有精品| 91福利精品第一导航| 亚洲电影视频在线| 视频一区欧美日韩| 99在线视频精品| 久久一日本道色综合| 五月综合激情日本mⅴ| 91天堂素人约啪| 国产日韩影视精品| 久久精品国内一区二区三区| 欧美三级日韩在线| 亚洲天堂免费看| 粉嫩久久99精品久久久久久夜| 91精品国产乱码久久蜜臀| 艳妇臀荡乳欲伦亚洲一区| 丰满少妇在线播放bd日韩电影| 精品理论电影在线| 日韩精品一区第一页| 99麻豆久久久国产精品免费| 欧美久久婷婷综合色| 日本一区二区三级电影在线观看 | 亚洲视频免费看| 日本成人在线网站| 91精彩视频在线| 久久久777精品电影网影网| 亚洲国产毛片aaaaa无费看 | 亚洲综合激情网| 国产精品99久久不卡二区| 777精品伊人久久久久大香线蕉| 久久久久久久av麻豆果冻| 舔着乳尖日韩一区| 色婷婷av一区| 国产精品电影一区二区| 国产v日产∨综合v精品视频| 欧美一卡2卡三卡4卡5免费| 亚洲激情图片小说视频| 不卡一卡二卡三乱码免费网站| 日韩精品一区二| 麻豆freexxxx性91精品| 51久久夜色精品国产麻豆| 一区二区三区丝袜| 国产亚洲精品bt天堂精选| 亚洲午夜电影网| 色激情天天射综合网| 亚洲欧美偷拍三级| eeuss鲁一区二区三区| 中文无字幕一区二区三区| 国产一区二区三区久久久 | 婷婷久久综合九色综合伊人色| 91成人免费在线| 亚洲另类色综合网站| 欧美主播一区二区三区| 一区二区三区精品| 欧美日韩一二三区| 日本欧美在线看| 精品国产三级a在线观看| 国产一级精品在线| 久久久久综合网| 福利一区在线观看| 国产精品成人午夜| 国产麻豆午夜三级精品| 欧美久久久久久久久中文字幕| 国产精品午夜在线| 国产成人精品亚洲777人妖| 欧美一区二区在线免费观看| 亚洲欧美国产三级| 蜜桃av一区二区三区电影| 日本一区二区三区电影| 8x8x8国产精品| av在线免费不卡| 国产精品主播直播| 日韩在线一区二区| 伊人色综合久久天天人手人婷| 337p日本欧洲亚洲大胆色噜噜| 欧美无人高清视频在线观看| 国产·精品毛片| 亚洲国产一区视频| 91精品国产综合久久香蕉麻豆| 国产精品亚洲午夜一区二区三区 | 国产欧美日韩综合精品一区二区| 99久久99久久免费精品蜜臀| 另类综合日韩欧美亚洲| 一区二区三区不卡视频| 日本中文字幕一区二区视频| 国产女同性恋一区二区| 日韩欧美国产小视频| 欧美日韩一级黄| 色吊一区二区三区| 91同城在线观看| 成人白浆超碰人人人人| 国产成人欧美日韩在线电影| 免费一级片91| 日韩成人一级片| 亚洲成人精品一区二区| 一个色妞综合视频在线观看| 亚洲三级在线免费观看| 亚洲欧洲美洲综合色网| 国产精品区一区二区三| 亚洲国产精品成人综合色在线婷婷| 精品国免费一区二区三区| 日韩美女视频在线| 日韩亚洲欧美成人一区| 欧美一级国产精品| 日韩午夜电影av| 日韩色在线观看| 精品va天堂亚洲国产| 久久久精品人体av艺术| 欧美国产精品中文字幕| 亚洲欧美在线视频观看| 亚洲最快最全在线视频| 亚洲国产wwwccc36天堂| 日本成人在线看| 国产综合色视频| 粉嫩一区二区三区在线看| av在线播放一区二区三区| 色欧美日韩亚洲| 欧美一级在线免费| 久久久精品国产免费观看同学| 国产精品传媒视频| 亚洲一卡二卡三卡四卡五卡| 麻豆91在线播放| 久久精品一区蜜桃臀影院| 国产一区中文字幕| 亚洲影视资源网| 亚洲精选视频在线| 国产亚洲欧美激情| 在线免费观看日本欧美| 国产精品一区二区免费不卡 | 欧美韩国一区二区| 欧美亚洲另类激情小说| 成人av网址在线| 精品午夜久久福利影院| 精油按摩中文字幕久久| 欧美性生活久久| 久久久久9999亚洲精品| 日韩有码一区二区三区| 麻豆久久久久久| 亚洲成人精品在线观看| 亚洲影院理伦片| 亚洲综合无码一区二区| 亚洲精品免费看| 亚洲精品乱码久久久久久| 亚洲欧美偷拍另类a∨色屁股| 亚洲国产精品v| 国产精品免费免费| 国产精品视频一二| 国产精品美女久久久久高潮| 国产丝袜欧美中文另类| 日本一区二区三区免费乱视频| 久久久久久99精品| 国产色婷婷亚洲99精品小说| 久久精品一区二区| 中文字幕第一区二区| 中文字幕一区三区| 亚洲综合小说图片| 日韩精品91亚洲二区在线观看| 久久99精品久久久久久| 精品亚洲porn| 日韩西西人体444www| 国产精品日日摸夜夜摸av| 日韩精品一卡二卡三卡四卡无卡| 精品在线亚洲视频| 在线播放亚洲一区| 国产精品免费视频观看| 蜜桃在线一区二区三区| 色94色欧美sute亚洲线路一久| 精品视频一区二区不卡| 日韩欧美在线影院| 国产日韩在线不卡| 欧美韩国日本一区| 亚洲女人的天堂| 亚瑟在线精品视频| 国产精品亚洲一区二区三区妖精|