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

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

?? marsds.h

?? GPU實(shí)現(xiàn)的MapReduce framework,對(duì)于學(xué)習(xí)并行編程和cuda平臺(tái)的編程方面有著極好的參考價(jià)值
?? H
字號(hào):
/**
 *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
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产高清一区二区三区| 成人黄色免费短视频| 91麻豆精品国产自产在线观看一区| 一区二区三区在线视频免费| 91久久奴性调教| 亚洲主播在线观看| 4438x亚洲最大成人网| 另类人妖一区二区av| 久久久五月婷婷| 成人不卡免费av| 亚洲国产wwwccc36天堂| 日韩精品专区在线影院重磅| 国产麻豆91精品| 中文字幕一区二区不卡| 欧美体内she精高潮| 免费高清在线一区| 亚洲国产精品黑人久久久| 色综合色综合色综合色综合色综合| 一片黄亚洲嫩模| 日韩欧美一区二区在线视频| 国产不卡视频一区二区三区| 亚洲欧美综合色| 91精品婷婷国产综合久久性色| 国产一区二区在线免费观看| 亚洲天堂中文字幕| 51久久夜色精品国产麻豆| 国产成人三级在线观看| 亚洲午夜影视影院在线观看| 精品国产露脸精彩对白| 日本高清不卡视频| 狠狠色狠狠色综合系列| 亚洲精品国产精品乱码不99| 精品免费视频一区二区| 91福利精品视频| 国产精品小仙女| 丝袜脚交一区二区| 中文字幕在线不卡视频| 精品噜噜噜噜久久久久久久久试看| 91视频在线观看免费| 精彩视频一区二区| 亚洲成人免费av| 国产精品理伦片| 日韩女优制服丝袜电影| 色综合视频一区二区三区高清| 极品少妇一区二区| 亚洲大片精品永久免费| 国产精品久久久久久一区二区三区| 日韩一卡二卡三卡| 91久久香蕉国产日韩欧美9色| 国产成人综合在线播放| 老司机午夜精品99久久| 亚洲高清三级视频| 亚洲三级在线看| 国产精品你懂的| 精品国内二区三区| 欧美高清www午色夜在线视频| 99久久精品情趣| 国产伦精品一区二区三区视频青涩| 亚洲成人精品一区二区| 亚洲日本韩国一区| 国产精品少妇自拍| 久久久久久久综合| 欧美精品一区二区三区在线| 91精品欧美久久久久久动漫| 色成年激情久久综合| 99久久精品免费观看| 成人黄色777网| 成人看片黄a免费看在线| 国产精品99久| 国产精一区二区三区| 国产一区二区在线看| 国产在线播放一区三区四| 全部av―极品视觉盛宴亚洲| 日本欧美久久久久免费播放网| 日韩电影在线一区| 日韩av一二三| 精品在线你懂的| 国产一区二区三区蝌蚪| 国产麻豆视频精品| 成人性生交大合| 成人av在线一区二区三区| 成人永久免费视频| 成人激情视频网站| 91麻豆成人久久精品二区三区| 99国产精品99久久久久久| 91麻豆国产福利在线观看| 欧美在线一区二区| 7777精品伊人久久久大香线蕉经典版下载| 欧美体内she精高潮| 3d动漫精品啪啪1区2区免费 | 成人激情免费视频| 成人黄色av电影| 91久久奴性调教| 欧美日韩aaaaaa| 精品久久久三级丝袜| 国产日产精品一区| 国产精品不卡一区| 亚洲一区二区四区蜜桃| 丝袜诱惑亚洲看片| 国产精品一区二区在线观看网站| 国产成人精品aa毛片| 91丝袜美女网| 欧美美女网站色| 2023国产精品| 亚洲品质自拍视频| 日本视频一区二区三区| 国产一区中文字幕| 91首页免费视频| 欧美一区二区久久| 久久亚洲捆绑美女| 亚洲精品亚洲人成人网| 丝袜国产日韩另类美女| 国产不卡视频一区| 欧美日韩第一区日日骚| 亚洲精品一区二区三区四区高清| 国产精品视频免费看| 婷婷成人激情在线网| 国产一区日韩二区欧美三区| 91国在线观看| 26uuu亚洲综合色| 亚洲一区二区三区四区不卡| 国产在线国偷精品产拍免费yy | 国产一区二区免费看| 色伊人久久综合中文字幕| 欧美成人三级电影在线| 亚洲欧美日韩国产一区二区三区| 蜜臀精品一区二区三区在线观看 | 国产福利一区二区| 欧美日韩另类国产亚洲欧美一级| 欧美一区二区三区在线电影| 亚洲人亚洲人成电影网站色| 久久精品噜噜噜成人av农村| 色菇凉天天综合网| 日本一二三不卡| 理论电影国产精品| 精品婷婷伊人一区三区三| 中文字幕欧美激情一区| 美洲天堂一区二卡三卡四卡视频 | 日韩美女视频一区二区在线观看| 中文字幕亚洲一区二区av在线| 精久久久久久久久久久| 欧美美女一区二区在线观看| 亚洲欧美日韩在线| 国产乱淫av一区二区三区| 欧美久久久一区| 洋洋av久久久久久久一区| 成人av在线一区二区| 26uuuu精品一区二区| 麻豆一区二区三区| 欧美一区二区私人影院日本| 亚洲成人免费在线观看| 色综合 综合色| 亚洲欧洲一区二区三区| 国产盗摄女厕一区二区三区| 精品88久久久久88久久久| 青青草一区二区三区| 这里只有精品电影| 亚洲成人动漫在线观看| 欧美性xxxxx极品少妇| 一区视频在线播放| 99v久久综合狠狠综合久久| 亚洲国产激情av| 高清国产一区二区| 国产欧美日韩久久| 国产不卡视频在线观看| 日本一二三不卡| 国产成人亚洲综合a∨婷婷图片| 久久综合九色综合97婷婷| 久久精品噜噜噜成人av农村| 欧美大片在线观看| 久久精品免费看| 久久亚洲综合色一区二区三区| 狠狠色丁香久久婷婷综合_中 | 欧美猛男男办公室激情| 日韩影院免费视频| 日韩情涩欧美日韩视频| 老汉av免费一区二区三区 | 国产精品无码永久免费888| 国产乱色国产精品免费视频| 久久久精品免费观看| 国产精品一级在线| 中文字幕一区二区三区不卡在线 | 视频一区二区三区入口| 欧美一区二区三级| 国产伦精品一区二区三区免费迷 | 欧美一区二区播放| 久久99最新地址| 亚洲国产精品精华液ab| 91网站黄www| 亚洲成人精品影院| 日韩免费观看高清完整版| 国产精品一二二区| 专区另类欧美日韩| 6080国产精品一区二区| 国产一区二区0| 中文字幕永久在线不卡| 欧美日韩国产综合一区二区 | 天天操天天干天天综合网| 日韩欧美专区在线| av一区二区三区在线|