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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? marsds.h

?? GPU實現(xiàn)的MapReduce framework,對于學(xué)習(xí)并行編程和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__

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费在线观看| 99久久99久久久精品齐齐| 国产成人午夜精品5599 | 《视频一区视频二区| 亚洲一线二线三线久久久| 国产麻豆视频一区| 欧美理论在线播放| 亚洲视频中文字幕| 国产一区啦啦啦在线观看| 欧美日韩国产电影| 亚洲免费高清视频在线| 国产精品456露脸| 日韩免费高清视频| 亚洲国产另类av| 91影院在线免费观看| 久久久久国产精品麻豆ai换脸| 亚洲国产精品一区二区尤物区| 99这里只有精品| 久久精品亚洲麻豆av一区二区 | 国产成人综合视频| 精品毛片乱码1区2区3区| 五月综合激情婷婷六月色窝| 91在线一区二区三区| 日本一区二区综合亚洲| 国产麻豆精品久久一二三| 欧美一区二区免费视频| 亚洲国产精品久久艾草纯爱| 色婷婷亚洲精品| 中文字幕一区二区三区精华液| 久久精品国产**网站演员| 制服丝袜激情欧洲亚洲| 香蕉加勒比综合久久| 91精品在线一区二区| 亚洲第一综合色| 欧美一级高清片| 午夜精品久久久久久不卡8050| 色94色欧美sute亚洲线路一久| 椎名由奈av一区二区三区| 成人午夜在线免费| 国产三级一区二区| 激情综合色综合久久综合| 日韩女优av电影| 精品在线观看视频| 久久一日本道色综合| 国产成人精品免费| 中文字幕一区在线| 色婷婷av一区二区| 亚洲一区国产视频| 日韩免费高清av| 国产精品亚洲一区二区三区在线| 国产亚洲精久久久久久| 欧美成人性战久久| 玉足女爽爽91| 91女神在线视频| 午夜精品一区在线观看| 精品少妇一区二区三区在线播放 | 欧美一级视频精品观看| 老司机免费视频一区二区| 26uuu久久综合| 99精品视频一区| 亚洲国产精品麻豆| 欧美一区二区视频在线观看2020| 国内精品久久久久影院薰衣草 | 亚欧色一区w666天堂| 欧美一区二区三区播放老司机 | 欧美一区二区精品在线| 日韩—二三区免费观看av| 日韩精品一区二区三区视频 | 在线播放91灌醉迷j高跟美女| 亚洲男人电影天堂| 日本欧美肥老太交大片| 久久综合狠狠综合久久激情| yourporn久久国产精品| 亚洲第一综合色| 国产视频911| 欧洲精品一区二区| 国产成人啪午夜精品网站男同| 亚洲欧美一区二区三区国产精品| 91麻豆精品国产91久久久久久久久| 国产毛片一区二区| 丝袜脚交一区二区| 一区在线观看视频| 日韩欧美高清dvd碟片| 91小视频免费观看| 国内精品久久久久影院一蜜桃| 亚洲欧美另类小说| 久久久久久99久久久精品网站| 欧美影院午夜播放| 成人黄色小视频| 久久99这里只有精品| 一区二区三区精密机械公司| 久久婷婷国产综合精品青草| 欧美日韩不卡一区二区| 成人av在线电影| 国产美女av一区二区三区| 日精品一区二区三区| 一区二区三区视频在线观看| 欧美高清在线一区| 久久精品男人的天堂| 欧美第一区第二区| 欧美久久久影院| 色8久久精品久久久久久蜜| 国产精品一二三四五| 免费观看在线综合| 水蜜桃久久夜色精品一区的特点 | 久久综合久久鬼色中文字| 欧美精品99久久久**| 欧美图片一区二区三区| 99精品偷自拍| 99久久婷婷国产综合精品| 国产91丝袜在线播放0| 国产在线一区二区综合免费视频| 日韩精品久久理论片| 亚洲国产精品自拍| 午夜伊人狠狠久久| 日本欧美一区二区三区乱码| 日韩一区精品字幕| 日韩国产在线观看一区| 婷婷久久综合九色国产成人| 无吗不卡中文字幕| 免费在线看成人av| 久草在线在线精品观看| 国产麻豆视频一区| 国产成人av电影免费在线观看| 国产91精品一区二区麻豆网站 | 8v天堂国产在线一区二区| 欧美疯狂性受xxxxx喷水图片| 欧美日韩色一区| 91麻豆精品国产91久久久资源速度 | 欧美日韩国产一级片| 欧美日韩高清不卡| 精品国产一二三区| 久久精品男人的天堂| 中文字幕一区二区三区四区不卡 | 一区二区三区中文字幕电影 | 亚洲狼人国产精品| 亚洲午夜久久久久久久久电影网| 亚洲成人久久影院| 久久精品国产澳门| 成人激情免费网站| 欧美视频精品在线观看| 欧美一级久久久| 欧美国产禁国产网站cc| 一二三区精品视频| 久久精品免费观看| 成人黄色免费短视频| 在线视频国内一区二区| 欧美一区二区日韩一区二区| 国产女人水真多18毛片18精品视频| 亚洲天堂网中文字| 日韩成人精品在线观看| 国产传媒一区在线| 欧美日韩国产另类不卡| 国产欧美中文在线| 午夜成人在线视频| 不卡av免费在线观看| 欧美一区国产二区| 中文字幕中文在线不卡住| 天天av天天翘天天综合网色鬼国产| 国产一区二区三区综合 | 成人国产精品免费网站| 欧美性猛片aaaaaaa做受| 久久久99久久| 亚洲二区视频在线| www.欧美日韩国产在线| 欧美一区日韩一区| 樱花草国产18久久久久| 久草热8精品视频在线观看| 欧美自拍偷拍一区| 国产精品久久久久久久久果冻传媒 | 成人福利视频网站| 精品欧美黑人一区二区三区| 亚洲精品视频免费看| 国产福利一区二区三区视频| 欧美日韩国产一级片| 亚洲欧美偷拍三级| 国产99久久久国产精品潘金网站| 69堂成人精品免费视频| 亚洲欧美区自拍先锋| 成人福利视频在线| 久久久久久免费网| 精品一区二区三区在线观看国产| 欧美在线视频全部完| 亚洲视频在线观看一区| 国产99久久久国产精品免费看| 欧美tickling挠脚心丨vk| 亚洲大片免费看| 在线观看一区日韩| 自拍偷拍亚洲欧美日韩| 成年人网站91| 国产网站一区二区| 国产高清精品在线| 久久一区二区三区国产精品| 精品一区二区三区在线观看 | 一级精品视频在线观看宜春院| 波多野结衣在线一区| 中文字幕av一区二区三区| 国产91精品在线观看| 国产欧美日韩三级| 高清视频一区二区|