亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国内精品视频666| 日日嗨av一区二区三区四区| 在线播放视频一区| 国产在线不卡一区| 国产精品国产精品国产专区不蜜| 欧美日韩一区二区不卡| 精彩视频一区二区| 自拍偷在线精品自拍偷无码专区| 欧美日韩亚洲综合一区二区三区 | 久久99在线观看| 国产综合色在线视频区| 亚洲午夜精品在线| 国产精品毛片大码女人| 日韩亚洲欧美综合| 日本电影欧美片| 粉嫩欧美一区二区三区高清影视| 蜜桃视频在线观看一区| 亚洲国产精品久久久久秋霞影院 | 欧美不卡视频一区| 欧美人狂配大交3d怪物一区| 国产伦精品一区二区三区在线观看| 亚洲国产va精品久久久不卡综合| 精品国产乱码久久久久久图片| 欧美精品日韩一本| 在线观看亚洲精品| 色天天综合久久久久综合片| 99久久国产综合精品色伊| 成人夜色视频网站在线观看| 国产综合久久久久久鬼色 | 一区二区三区久久| 亚洲欧美在线aaa| 亚洲欧美一区二区不卡| 亚洲黄色在线视频| 亚洲一区在线看| 亚洲精品国产无套在线观 | 欧美高清在线视频| 国产精品欧美一区二区三区| 国产精品久久一级| 亚洲国产视频直播| 日本vs亚洲vs韩国一区三区二区| 日本最新不卡在线| 国产伦精品一区二区三区视频青涩 | 亚洲午夜视频在线观看| 午夜成人免费视频| 国产福利一区二区三区视频| 日本国产一区二区| 欧美一区二区在线观看| 欧美一区二区性放荡片| 精品国产网站在线观看| 欧美成人高清电影在线| 国产偷国产偷精品高清尤物| 日本vs亚洲vs韩国一区三区二区 | 一区二区三区在线看| 一区二区三区四区在线免费观看 | 婷婷开心激情综合| 国产不卡视频在线播放| 欧美日韩一级二级三级| 国产色产综合色产在线视频| 亚洲成人一区二区| 成人美女在线观看| 精品女同一区二区| 丝袜亚洲另类丝袜在线| 国产成a人亚洲| 日韩精品一区二区在线观看| 成人免费一区二区三区视频| 蜜臀精品久久久久久蜜臀 | 日韩一卡二卡三卡四卡| 中文字幕精品一区二区精品绿巨人| 美女国产一区二区| 欧美日韩亚洲不卡| 中国色在线观看另类| 久久国产精品99精品国产 | 国产精品美日韩| 韩国v欧美v日本v亚洲v| 精品久久一二三区| 久久99国内精品| 久久综合国产精品| 粉嫩av一区二区三区| 国产一区视频在线看| 国产精品久久久久永久免费观看| 色综合天天天天做夜夜夜夜做| 亚洲老妇xxxxxx| 欧美精品三级日韩久久| 久久精品国内一区二区三区| 奇米影视7777精品一区二区| 精品日韩一区二区三区| 国产精品一卡二卡| 一区二区三区中文字幕电影 | 综合亚洲深深色噜噜狠狠网站| 在线一区二区三区做爰视频网站| 日韩电影免费在线| 欧美韩日一区二区三区四区| 欧美在线一二三| 国产一区免费电影| 亚洲一区二区四区蜜桃| 国产亚洲va综合人人澡精品| 欧美日韩另类国产亚洲欧美一级| 极品尤物av久久免费看| 亚洲国产精品久久艾草纯爱| 中文字幕av不卡| 欧美成va人片在线观看| 欧美三片在线视频观看 | av激情成人网| 激情五月婷婷综合网| 午夜精品免费在线| 亚洲精品视频在线观看网站| 久久女同精品一区二区| 56国语精品自产拍在线观看| 欧美性大战久久| 9色porny自拍视频一区二区| 国产大陆亚洲精品国产| 精品一区二区三区欧美| 奇米精品一区二区三区在线观看一| 亚洲另类色综合网站| 国产精品久久久久久久蜜臀| 久久久久久综合| 精品国产露脸精彩对白| 欧美一区二区人人喊爽| 日韩欧美www| 26uuu另类欧美| 26uuu亚洲综合色| 久久久久久久性| 国产精品色一区二区三区| 欧美高清在线精品一区| 国产精品不卡一区二区三区| 国产日韩综合av| 国产日韩精品一区二区三区在线| 久久精品欧美一区二区三区不卡 | 久久国产精品99精品国产| 国产一区二区免费视频| 成人午夜电影网站| 一本大道久久a久久综合| 欧美在线视频全部完| 欧美mv和日韩mv国产网站| 日韩午夜精品电影| 国产精品午夜在线| 日韩成人精品视频| 国产成人精品免费| 欧美午夜宅男影院| 久久中文娱乐网| 一区二区三区四区高清精品免费观看| 亚洲成人免费在线| 国产麻豆视频一区| 欧美日韩在线免费视频| 精品裸体舞一区二区三区| 亚洲免费观看在线观看| 久久99精品久久久久久国产越南 | 欧美日韩成人一区二区| 久久九九全国免费| 亚洲妇熟xx妇色黄| 国产精品一区二区在线观看网站| 日本高清免费不卡视频| 久久免费国产精品| 日韩电影免费一区| 91网站黄www| 久久久美女毛片| 美女诱惑一区二区| 欧美午夜一区二区三区| 国产精品视频在线看| 久久se精品一区二区| 欧美精品一二三| 亚洲免费观看高清在线观看| 国产成人精品免费视频网站| 日韩精品一区二区三区老鸭窝| 日韩成人一级片| 日本韩国一区二区三区视频| 亚洲免费色视频| 色婷婷久久一区二区三区麻豆| 亚洲视频一二三区| 成人黄色网址在线观看| 亚洲视频在线观看一区| 成人激情开心网| 国产色91在线| 成人高清视频在线| 国产欧美日韩麻豆91| 丁香啪啪综合成人亚洲小说 | 精品一区二区三区免费播放| 日韩欧美国产系列| 美女爽到高潮91| 久久精品一区二区| 99久久精品久久久久久清纯| 一卡二卡三卡日韩欧美| 欧美军同video69gay| 久久激情五月婷婷| 国产视频911| 欧美日韩一区二区欧美激情| 麻豆成人免费电影| 亚洲欧洲韩国日本视频| 色香蕉成人二区免费| 免费在线一区观看| 亚洲视频免费看| 91精品国产91久久综合桃花| 国产精品一品二品| 亚洲小少妇裸体bbw| 日本一区二区三区免费乱视频 | 日韩综合一区二区| 久久这里只有精品首页| 在线视频你懂得一区| 亚洲自拍偷拍图区| 欧美色涩在线第一页|