亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
一级女性全黄久久生活片免费| 亚洲男女毛片无遮挡| 国产日韩欧美一区二区三区综合| 一区二区三区四区亚洲| 日本精品一级二级| 欧美国产日产图区| 激情综合网最新| 亚洲欧美另类久久久精品2019| 欧美性色黄大片| 欧美性色欧美a在线播放| 日韩欧美一级二级三级久久久| 午夜激情综合网| 日韩小视频在线观看专区| 美国毛片一区二区| 国产亚洲精品福利| 色偷偷一区二区三区| 午夜精品福利一区二区三区蜜桃| 日韩一区二区精品葵司在线 | 日韩一级大片在线观看| 精品制服美女久久| 亚洲女与黑人做爰| 91精品国产色综合久久久蜜香臀| 久久精品久久精品| 一区二区三区资源| 欧美精品一区二区精品网| 99re成人精品视频| 狠狠色狠狠色综合日日91app| 中文字幕欧美一| 日韩欧美高清一区| 色狠狠av一区二区三区| 国产一区二区在线影院| 午夜电影网一区| 亚洲女同ⅹxx女同tv| 久久久噜噜噜久久人人看| 欧美日韩一区三区四区| 成人激情小说网站| 国产自产v一区二区三区c| 亚洲资源在线观看| 亚洲桃色在线一区| 国产精品每日更新| 久久综合99re88久久爱| 日韩欧美一级二级三级| 欧美日韩国产经典色站一区二区三区| 成人综合婷婷国产精品久久蜜臀| 美女脱光内衣内裤视频久久网站| 一区二区高清免费观看影视大全| 国产精品毛片久久久久久| 久久精品欧美一区二区三区麻豆| 欧美精品三级在线观看| 欧美视频精品在线观看| 欧美色倩网站大全免费| 欧美日韩亚州综合| 91精品一区二区三区在线观看| 欧美日韩情趣电影| 91精品国产综合久久福利软件| 欧美日韩国产中文| 日韩免费高清视频| 久久亚洲精精品中文字幕早川悠里 | 奇米影视7777精品一区二区| 日本网站在线观看一区二区三区| 亚洲第四色夜色| 国产一区二区91| 91视视频在线观看入口直接观看www| av毛片久久久久**hd| 欧美影院一区二区| 亚洲精品一区二区三区99| 国产精品久久久久久久久动漫 | 久久久久久免费毛片精品| 国产色91在线| 亚洲国产成人av| 国产成人综合视频| 欧美日韩国产天堂| 国产日韩欧美电影| 日韩**一区毛片| 成人av电影在线播放| 日韩一区二区影院| 亚洲最大色网站| 粉嫩蜜臀av国产精品网站| 日本伦理一区二区| 国产日韩亚洲欧美综合| 亚洲午夜国产一区99re久久| 国产精品一区二区91| 欧美日韩视频在线第一区| 亚洲国产精品精华液ab| 青青草国产精品97视觉盛宴 | 国内不卡的二区三区中文字幕| 91视频免费观看| 国产精品欧美经典| 国产一区二区三区蝌蚪| 精品久久99ma| 玖玖九九国产精品| 亚洲精品在线一区二区| 日韩一区精品视频| 91精品国产一区二区三区香蕉| 亚洲国产美国国产综合一区二区| 懂色一区二区三区免费观看| 欧美mv日韩mv| 国产精品影视网| 国产日韩欧美一区二区三区乱码| 紧缚奴在线一区二区三区| 欧美videos中文字幕| 国产在线乱码一区二区三区| 久久众筹精品私拍模特| 高清在线观看日韩| 亚洲视频 欧洲视频| 欧洲中文字幕精品| 亚洲成人免费在线观看| 欧美一级日韩不卡播放免费| 日本不卡的三区四区五区| 日韩精品自拍偷拍| 亚洲一二三区在线观看| 国产精品一区二区在线看| 丁香婷婷综合色啪| 在线一区二区三区四区| 欧美激情在线观看视频免费| 亚洲午夜精品久久久久久久久| 亚洲图片自拍偷拍| 99久久综合精品| 精品美女被调教视频大全网站| 欧美一区二区三区四区高清| 中文子幕无线码一区tr| 国产精品影视在线观看| 337p日本欧洲亚洲大胆精品| 午夜免费久久看| 欧美私模裸体表演在线观看| 国产一区999| 精品福利在线导航| 美女任你摸久久| 欧美精品电影在线播放| 亚洲激情在线播放| 91啪亚洲精品| 中文字幕日韩一区| 国产激情91久久精品导航 | 久久亚洲综合色一区二区三区| 亚洲国产日韩一级| 色吊一区二区三区| 一区二区三区日韩欧美| 丁香婷婷综合色啪| 国产精品国产三级国产普通话蜜臀| 国产精品亚洲а∨天堂免在线| 久久久久97国产精华液好用吗| 久久99热这里只有精品| 91精品欧美一区二区三区综合在| 亚洲综合激情另类小说区| www.欧美色图| 成人免费在线播放视频| 91浏览器在线视频| 亚洲国产精品久久人人爱| 欧美亚洲动漫另类| 天天影视色香欲综合网老头| 欧美一区二区播放| 日韩精品91亚洲二区在线观看| 欧美日韩高清一区二区不卡| 日韩国产欧美三级| xnxx国产精品| 99久久精品国产毛片| 一区二区三区精品在线观看| 欧美日韩国产综合视频在线观看| 日本vs亚洲vs韩国一区三区| 欧美videossexotv100| 国产成人精品影视| 亚洲精品亚洲人成人网在线播放| 欧美少妇一区二区| 国产专区综合网| 亚洲免费视频中文字幕| 制服丝袜中文字幕一区| 国产在线观看一区二区| 亚洲麻豆国产自偷在线| 欧美一区日韩一区| av中文字幕亚洲| 日本中文字幕一区| 国产精品丝袜91| 欧美久久久一区| 国产成人av影院| 亚洲国产欧美在线人成| 26uuu国产日韩综合| 日本福利一区二区| 麻豆91小视频| 亚洲视频一区二区在线观看| 91精品国产综合久久蜜臀 | 国产精品一区二区不卡| 亚洲综合色区另类av| 久久久精品国产免费观看同学| 一本一本大道香蕉久在线精品| 美女被吸乳得到大胸91| 亚洲激情自拍偷拍| 国产三区在线成人av| 精品视频一区二区不卡| 粉嫩一区二区三区在线看| 丝袜国产日韩另类美女| 中文字幕色av一区二区三区| 欧美成人女星排名| 欧美性大战久久久久久久蜜臀 | 午夜成人在线视频| 中文文精品字幕一区二区| 91精品国产乱码| 色老综合老女人久久久| 国产91综合一区在线观看| 日韩av一区二| 亚洲成人免费观看|