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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bencudafile.cu

?? GPU實現的MapReduce framework,對于學習并行編程和cuda平臺的編程方面有著極好的參考價值
?? CU
字號:
/*
*System-independent library.
 *Written by Wenbin FANG (wenbin@cse.ust.hk)
 *
 *COMPILE MACROS:
 *1, __UNIX__ or __WIN32__
 *2, __TIMER__
 *3, __DEBUG__
 *4, __CUDA__
 *5, __MEM__
 *6, __ALLOC__
 */

/*********************************************************
	===Example1-iterate data chunks in a file===
	FStream_t *fs = D_OPEN_FILE("test.dat");

	size_t chunkSize = 100;
	char *gpubuf = D_MALLOC(chunkSize);
	size_t readSize = 0;
	while ((readSize = D_ITERATE_CHUNK(fs, gpubuf, chunkSize)))
	{
		test_kernel<<<4,4>>>(gpubuf);
	}
	D_FREE(gpubuf, chunkSize);

	D_CLOSE_FILE(fs);
**********************************************************
	===Example2-overwrite a file, then append chunks===
	FStream_t *fs = D_OPEN_FILE("test.dat");
	FStream_t *wfs = D_OPEN_FILE("wtest.dat");

	size_t chunkSize = 100;
	char *gpubuf = D_MALLOC(chunkSize);
	size_t readSize = 0;
	while ((readSize = D_ITERATE_CHUNK(fs, gpubuf, chunkSize)))
	{
		test_kernel<<<4,4>>>(gpubuf);
		D_WRITE_CHUNK(wfs, gpubuf, readSize);
	}
	D_FREE(gpubuf, chunkSize);

	D_CLOSE_FILE(fs);
	D_CLOSE_FILE(wfs);
***********************************************************
	===Example3-just append chunks to a file===
	FStream_t *fs = D_OPEN_FILE("test.dat");
	FStream_t *wfs = D_OPEN_FILE("wtest.dat");

	size_t chunkSize = 100;
	char *gpubuf = D_MALLOC(chunkSize);
	size_t readSize = 0;
	while ((readSize = D_ITERATE_CHUNK(fs, gpubuf, chunkSize)))
	{
		test_kernel<<<4,4>>>(gpubuf);
		D_APPEND_CHUNK(wfs, gpubuf, readSize);
	}
	D_FREE(gpubuf, chunkSize);

	D_CLOSE_FILE(fs);
	D_CLOSE_FILE(wfs);
 */

#include "BenLib.h"

FStream_t *D_OPEN_FILE(char *filename)
{
	BEN_ASSERT(filename != NULL);

	FStream_t *fs = (FStream_t*)BenMalloc(sizeof(FStream_t));
	fs->offset = 0;
#ifdef __UNIX__
#else //__UNIX__
	HANDLE hFile; 
	hFile = CreateFile(filename,               
                       GENERIC_WRITE|GENERIC_READ,          
                       FILE_SHARE_WRITE|FILE_SHARE_READ,      
                       NULL,               
                       OPEN_ALWAYS,   
                       FILE_ATTRIBUTE_NORMAL,
                       NULL);            
	BEN_ASSERT(hFile != INVALID_HANDLE_VALUE );

	fs->filename = filename;
	fs->hFile = hFile;
	size_t hi_size;
	fs->fileSize = GetFileSize(hFile, (LPDWORD)&hi_size);

#endif //__WIN32__
	return fs;
}

size_t D_ITERATE_CHUNK(FStream_t *fs, char *gpubuf, 
					 size_t chunkSize)
{
	BEN_ASSERT(fs != NULL);
	BEN_ASSERT(chunkSize != NULL);

	size_t readSize = 0;

	if (D_READ_CHUNK(fs, gpubuf, fs->offset, chunkSize, &readSize))
	{
		fs->offset += readSize;
		return readSize;
	}
	else 
		return 0;
}

void D_RESET_ITERATOR(FStream_t *fs)
{
	BEN_ASSERT(fs != NULL);

	fs->offset = 0;
}

char D_READ_CHUNK(FStream_t *fs, char *gpubuf, 
				  size_t offset, size_t size, size_t *read_size)
{
	BEN_ASSERT(gpubuf != NULL);
	BEN_ASSERT(fs != NULL);

	if (offset >= fs->fileSize) return 0;

	char *cpubuf = (char*)BenMalloc(size);
#ifndef __UNIX__
	HANDLE hFile = fs->hFile;

	OVERLAPPED o;
	BenMemset(&o, 0, sizeof(o));
	o.Offset = offset;
	BEN_ASSERT(ReadFile(hFile, cpubuf, size, (LPDWORD)read_size, &o));

	D_MEMCPY_H2D(gpubuf, cpubuf, *read_size);
#endif //__UNIX__
	BenFree((char**)&cpubuf, size);
	return 1;
}

char D_WRITE_CHUNK(FStream_t *fs, char *gpubuf, size_t size)
{
	char *cpubuf = (char*)BenMalloc(size);
	D_MEMCPY_D2H(cpubuf, gpubuf, size);

	size_t write_size = 0;
	BEN_ASSERT(WriteFile (fs->hFile, cpubuf, size, (LPDWORD)&write_size, NULL));
	BenFree((char**)&cpubuf, size);
	return 0;
}

char D_APPEND_CHUNK(FStream_t *fs, char *gpubuf, size_t size)
{
	BEN_ASSERT(fs != NULL);
	BEN_ASSERT(gpubuf != NULL);

	char *cpubuf = (char*)BenMalloc(size);
	D_MEMCPY_D2H(cpubuf, gpubuf, size);

#define FILE_WRITE_TO_END_OF_FILE       0xffffffff

	DWORD dwResult = 0; 
	OVERLAPPED o;
	BenMemset(&o, 0, sizeof(o));
	o.Offset = FILE_WRITE_TO_END_OF_FILE; 
	o.OffsetHigh = 0;
	BEN_ASSERT(WriteFile(fs->hFile, cpubuf, size, &dwResult, &o));
	
	BenFree((char**)&cpubuf, size);
	return 0;
}

void D_CLOSE_FILE(FStream_t *fs)
{
	BEN_ASSERT(fs != NULL);
#ifndef __UNIX__
	CloseHandle(fs->hFile);
#endif //__UNIX__
	BenFree((char**)&fs, sizeof(FStream_t));
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩三级视频中文字幕| 亚洲精品一线二线三线| 国产一区二区三区在线观看精品| 国产精品美女久久久久久久网站| 欧美久久久久久久久久| 国产一区视频在线看| 一区二区三区在线免费观看| 26uuu精品一区二区在线观看| 色先锋久久av资源部| 国产精品正在播放| 亚欧色一区w666天堂| 国产精品欧美一级免费| 日韩欧美国产小视频| 色94色欧美sute亚洲13| 国产91清纯白嫩初高中在线观看| 亚洲chinese男男1069| 亚洲欧洲精品一区二区三区不卡| 日韩欧美电影一二三| 欧美午夜寂寞影院| 色综合一个色综合亚洲| 成人教育av在线| 国产麻豆午夜三级精品| 强制捆绑调教一区二区| 亚洲成人免费在线观看| 一区二区在线观看视频在线观看| 久久久久久免费| 日韩欧美123| 91精品国产入口在线| 欧美午夜在线一二页| 色先锋久久av资源部| 欧美日韩午夜精品| 91激情在线视频| 一本一本大道香蕉久在线精品| 国产不卡视频在线播放| 国产精品资源在线观看| 极品少妇xxxx精品少妇| 激情小说亚洲一区| 国产原创一区二区| 高清成人在线观看| 成人小视频免费观看| 成人性生交大片免费看在线播放| 国产69精品久久777的优势| 国产精品一二三区| 成人午夜又粗又硬又大| 9色porny自拍视频一区二区| 波多野洁衣一区| 色综合天天天天做夜夜夜夜做| 99r精品视频| 91久久精品一区二区三区| 欧美亚州韩日在线看免费版国语版 | 日韩欧美国产不卡| 日韩欧美综合一区| 精品国产91久久久久久久妲己| 精品国产第一区二区三区观看体验| 日韩欧美国产综合在线一区二区三区| 日韩精品中文字幕在线不卡尤物| 日韩精品专区在线影院重磅| 国产丝袜欧美中文另类| 欧美激情一区二区三区在线| 中文字幕在线不卡| 亚洲制服丝袜av| 丝袜美腿成人在线| 日韩极品在线观看| 欧美日韩国产在线播放网站| 欧美一卡二卡三卡| 2022国产精品视频| 国产精品国产三级国产普通话蜜臀| 亚洲精品写真福利| 日韩av中文在线观看| 激情小说欧美图片| 成人黄色小视频在线观看| 在线观看一区不卡| 日韩免费观看高清完整版 | 亚洲乱码中文字幕综合| 亚洲成人中文在线| 亚洲国产一区二区a毛片| 日韩一区和二区| 欧美日韩一区 二区 三区 久久精品| 7777精品伊人久久久大香线蕉超级流畅| 欧美一区二区三区男人的天堂| 久久婷婷久久一区二区三区| 亚洲乱码中文字幕| 久久精品理论片| 91丨porny丨首页| 日韩视频一区在线观看| 国产精品看片你懂得| 青青草原综合久久大伊人精品| 国产成人精品网址| 欧美日韩免费不卡视频一区二区三区| 精品国产乱码久久久久久老虎| 亚洲欧洲精品一区二区精品久久久 | 美女脱光内衣内裤视频久久影院| 国产成人福利片| 91精品久久久久久久99蜜桃 | 日韩精品一区国产麻豆| 亚洲视频香蕉人妖| 国产精品一二三区在线| 精品视频一区二区不卡| 国产精品久99| 极品少妇一区二区| 在线播放中文一区| 亚洲欧美日韩国产另类专区| 久久超碰97人人做人人爱| 97se亚洲国产综合自在线| 精品成a人在线观看| 亚洲综合色区另类av| 国产91精品精华液一区二区三区 | 国产尤物一区二区| 制服丝袜激情欧洲亚洲| 亚洲日本va午夜在线影院| 国产精品一区二区在线观看不卡 | 国产精品美女久久久久久久久久久 | 一区二区三区四区不卡在线 | 久久久久国产精品厨房| 天天综合天天做天天综合| 91色在线porny| 国产欧美日韩精品a在线观看| 蜜桃在线一区二区三区| 欧美性大战久久久久久久| 亚洲日本乱码在线观看| 不卡一区二区在线| 久久久久99精品国产片| 国内成人自拍视频| 日韩午夜电影av| 美女爽到高潮91| 69堂精品视频| 偷拍与自拍一区| 欧美三级视频在线| 亚洲成人精品一区| 日本精品免费观看高清观看| 日韩一区中文字幕| 本田岬高潮一区二区三区| 国产欧美精品一区二区三区四区| 精品制服美女丁香| 日韩欧美一二三四区| 久久国产精品露脸对白| 精品国产一区二区三区久久影院| 蜜臀va亚洲va欧美va天堂| 欧美一级二级三级蜜桃| 免费看欧美美女黄的网站| 91精品国产免费| 秋霞影院一区二区| 日韩午夜在线观看| 国产麻豆精品一区二区| 国产人久久人人人人爽| 不卡一区二区在线| 亚洲欧美日韩国产综合| 欧美在线一区二区三区| 亚洲成人激情av| 日韩午夜av电影| 国产另类ts人妖一区二区| 亚洲欧洲av在线| 欧美专区在线观看一区| 日韩福利电影在线观看| 亚洲精品在线三区| 国产成人av一区二区三区在线观看| 中文字幕不卡三区| 91精品办公室少妇高潮对白| 日韩中文字幕一区二区三区| 欧美成人在线直播| 丁香激情综合五月| 亚洲精品免费在线观看| 8v天堂国产在线一区二区| 寂寞少妇一区二区三区| 国产精品视频免费| 91成人在线精品| 日本欧美一区二区| 国产女同互慰高潮91漫画| 99久久99精品久久久久久| 一级精品视频在线观看宜春院| 欧美日韩三级在线| 国产精品1区2区3区在线观看| 综合自拍亚洲综合图不卡区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 欧美aa在线视频| 国产精品第四页| 欧美一级欧美三级在线观看 | 91色.com| 蜜臀久久99精品久久久久久9| 国产精品麻豆99久久久久久| 欧美色综合天天久久综合精品| 精品一区二区三区香蕉蜜桃| 亚洲视频综合在线| 日韩女优电影在线观看| 一本一道波多野结衣一区二区| 久久国产夜色精品鲁鲁99| 亚洲视频你懂的| 日韩免费一区二区三区在线播放| www.亚洲人| 精品一区二区三区欧美| 亚洲美女免费在线| 久久精子c满五个校花| 欧美日韩精品欧美日韩精品一综合 | 五月婷婷欧美视频| 国产精品网站导航| 日韩欧美中文字幕精品| 在线免费观看一区| 不卡一区二区在线| 黄色成人免费在线| 午夜激情综合网|