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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 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__

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一级中文字幕精品视频免费观看 | 亚洲一区二区av在线| 欧美日韩国产区一| 成人免费黄色在线| 久久电影网站中文字幕| 亚洲一区二区在线观看视频| 欧美国产视频在线| 欧美成人精精品一区二区频| 欧美在线色视频| 懂色中文一区二区在线播放| 日本成人中文字幕| 亚洲国产日韩精品| 国产精品久久久久永久免费观看| 欧美一级在线视频| 欧美中文字幕不卡| 北条麻妃国产九九精品视频| 精品一二线国产| 日韩av一级片| 亚洲午夜日本在线观看| 亚洲欧美一区二区久久| 欧美国产日韩在线观看| 久久精品夜色噜噜亚洲aⅴ| 日韩欧美一二区| 欧美三级三级三级| 色8久久精品久久久久久蜜| av激情综合网| 91在线看国产| 91在线国产福利| 成人激情动漫在线观看| 国产suv精品一区二区6| 国产成人在线视频网址| 国内国产精品久久| 精品一区二区在线播放| 久久91精品久久久久久秒播| 美女国产一区二区| 久久精品国产一区二区| 青青草国产精品97视觉盛宴| 日韩不卡免费视频| 免费在线观看一区二区三区| 日本欧美一区二区| 久久国产人妖系列| 国产乱妇无码大片在线观看| 国产乱子伦视频一区二区三区 | 欧美吻胸吃奶大尺度电影| 99久久精品国产精品久久| av在线免费不卡| 一本一道综合狠狠老| 欧美性欧美巨大黑白大战| 欧美三级日本三级少妇99| 欧美理论片在线| 欧美成人三级在线| 久久夜色精品国产噜噜av| 国产精品视频在线看| 国产精品久久久久久久久免费丝袜| 国产精品毛片久久久久久| 亚洲精品一二三四区| 亚洲成人在线观看视频| 麻豆精品精品国产自在97香蕉| 精品一区二区三区av| 成人激情文学综合网| 色噜噜狠狠色综合中国| 欧美剧情电影在线观看完整版免费励志电影 | 欧美日高清视频| 欧美一级高清大全免费观看| 26uuu亚洲综合色| 中文字幕亚洲在| 性做久久久久久免费观看| 狠狠色丁香婷综合久久| 99久久精品国产一区二区三区| 欧美午夜电影在线播放| 欧美va亚洲va香蕉在线| 国产精品私人影院| 午夜精品一区二区三区三上悠亚| 奇米精品一区二区三区在线观看| 丰满少妇在线播放bd日韩电影| 91福利在线播放| 久久午夜老司机| 亚洲综合av网| 国产乱人伦精品一区二区在线观看| 91亚洲精华国产精华精华液| 欧美日韩一卡二卡| 久久精品人人做人人爽97| 一卡二卡三卡日韩欧美| 经典一区二区三区| 色综合久久88色综合天天| 精品国产1区二区| 一区二区久久久久| 国产精品一区在线观看乱码| 色国产综合视频| 国产亚洲精品aa| 日韩在线a电影| 91蝌蚪porny| 久久综合九色综合97婷婷女人| 亚洲午夜久久久久| 国产91精品免费| 欧美一区二区视频在线观看2022| 亚洲欧洲成人自拍| 国内国产精品久久| 欧美精品久久天天躁| 亚洲视频一区二区免费在线观看| 久久国产精品露脸对白| 欧美性xxxxxxxx| 中文字幕亚洲区| 国产成人在线影院| 欧美变态凌虐bdsm| 丝瓜av网站精品一区二区 | www.av亚洲| 久久久99久久| 麻豆成人久久精品二区三区小说| 91香蕉视频黄| 国产精品麻豆视频| 国产另类ts人妖一区二区| 欧美一区二区三区婷婷月色| 亚洲综合视频在线观看| 成人av影院在线| 日本一区二区三区四区| 精品一区二区三区视频在线观看| 欧美日本韩国一区| 亚洲图片欧美色图| 色香蕉成人二区免费| 国产精品色婷婷久久58| 国产麻豆午夜三级精品| 精品国产乱码91久久久久久网站| 丝袜美腿高跟呻吟高潮一区| 欧美日韩在线三级| 亚洲国产精品一区二区久久恐怖片| 91视频91自| 伊人夜夜躁av伊人久久| 色94色欧美sute亚洲线路二| 中文字幕亚洲精品在线观看| proumb性欧美在线观看| 国产精品白丝在线| 99re66热这里只有精品3直播| 久久久精品tv| 国产91露脸合集magnet| 中文乱码免费一区二区| 不卡一区二区在线| 国产精品剧情在线亚洲| 99国产精品久久| 一区二区三区在线播放| 色综合久久久久综合| 伊人夜夜躁av伊人久久| 欧美日韩国产电影| 日韩av一区二区在线影视| 日韩欧美一级二级三级| 国产精品一区二区不卡| 国产欧美精品日韩区二区麻豆天美| 国产成人激情av| 中文字幕一区二区三区在线播放 | 日韩写真欧美这视频| 日本不卡一区二区| 精品久久人人做人人爱| 国产精品 欧美精品| 一区在线观看免费| 在线观看日韩av先锋影音电影院| 亚洲国产精品嫩草影院| 欧美一区二区在线不卡| 国产一区二区三区美女| 亚洲视频一区二区在线观看| 欧美日韩国产123区| 六月婷婷色综合| 国产精品美女久久久久久久久久久| 一本到一区二区三区| 日本aⅴ免费视频一区二区三区| 26uuu国产日韩综合| 99久久久无码国产精品| 日本午夜一区二区| 国产亚洲综合性久久久影院| 91蝌蚪porny九色| 免费精品视频在线| 国产精品全国免费观看高清| 欧亚洲嫩模精品一区三区| 久久66热偷产精品| 尤物在线观看一区| 精品国产青草久久久久福利| 99久久亚洲一区二区三区青草| 性做久久久久久久久| 国产亚洲欧洲997久久综合| 在线观看日韩电影| 国产乱色国产精品免费视频| 亚洲网友自拍偷拍| 久久久久国产免费免费| 欧美日韩国产乱码电影| 国产成人在线色| 日日夜夜精品视频免费| 国产精品麻豆一区二区 | 亚洲欧美日韩国产成人精品影院| 欧美一区二区三区免费| 99久久综合国产精品| 喷白浆一区二区| 一区二区国产视频| 国产女主播一区| 日韩一级视频免费观看在线| 91亚洲资源网| 国产成人激情av| 久久国产夜色精品鲁鲁99| 亚洲国产综合色| 亚洲欧美在线高清| 久久久久国色av免费看影院| 777午夜精品视频在线播放|