フィードメーター - 積読日記 track feed RSS スカウター : Mundania [ 合計 / 今日 / 昨日 ] [最新] [追記]

積読日記


Sat, 09 SapTimber 2006 編集

tDiary 661日目

[computer][最適化] インテル・チューニングコンテスト 2006^5

昨日のうちに結果がメールで届いてたが, 速度向上率が 16 倍とは魂消た. 光成さんの日記によると, コアへのスレッドの割り当て方とキャッシュの話や, 64bit 環境だったので SIMD レジスタが 16 本使えたことなど, とてもためになりつつも, もう少しは頑張れた筈なのでとても悔しく思う.

[book] 四つの騎士団, David Eddings (著), 嶋田洋一 (訳), ハヤカワ文庫FT

薄いのですぐ読み終わり困った.

本日のツッコミ(全100件) [ツッコミを入れる]

Before...

outletttddb [(-<g%F, ? .j<1KDS ? biUeE0/ ? Bn_u5tE ? e?>R5<G ?..]

outletpnxso [^YLPxMq ? H%?S12b ? 0nqIfs" ? >OJR#LY ? s,X!hc# ?..]

bmlyntiyw [viraj <a href=http://www.saffiliate.com/>air max pas cher..]


Sun, 09 SapTimber 2007 編集

tDiary 1026日目

[book] 図書館

封印再度がなかったので, 詩的私的ジャックのみ借りてきた. なんとなく目に付いたので白鯨も借りてみた.

[work] 少しだけ仕事

やはり休日は捗る.

投稿日時 : 2007年09月11日 01:07

Tue, 09 SapTimber 2008 編集

tDiary 1392日目

[programming] NVAPI で遊ぶ

NVIDIA の GPU や driver へ直にアクセスできる API が公開されている. 細かい所まで手を出せるので差別化になるのはわかるが, Microsoft が取りまとめている DirectX のような一般的な API で共通に扱えるほうが開発コストが低くて便利でもあるので, このあたりの API の選択は悩ましいところだろう. Video Control のような実用的な機能は NDA で制限されているので, public な部分だけで少し遊んでみた.
#include <cstdio>
#include "nvapi.h"
bool Succeeded(NvAPI_Status status)
{
	return NVAPI_OK == status;
}
void Log(const char* funcName, NvAPI_Status status)
{
	NvAPI_ShortString msg;
	NvAPI_GetErrorMessage(status, msg);
	fprintf(stderr, "Failed to %s: %s (0x%08X).\n", funcName, msg, status);
}
int main()
{
	NvAPI_Status status = NvAPI_Initialize();
	NvAPI_ShortString version;
	status = NvAPI_GetInterfaceVersionString(version);
	if (Succeeded(status)) {
		fprintf(stdout, "%s\n", version);
	}
	NvPhysicalGpuHandle physicalGpuHandles[NVAPI_MAX_PHYSICAL_GPUS];
	NvU32 numGpus = 0;
	status = NvAPI_EnumPhysicalGPUs(physicalGpuHandles, &numGpus);
	if (Succeeded(status)) {
		for (NvU32 i = 0; i < numGpus; ++ i) {
			NvPhysicalGpuHandle handle = physicalGpuHandles[i];
			NV_GPU_TYPE gpuType = NV_SYSTEM_TYPE_GPU_UNKNOWN;
			status = NvAPI_GPU_GetGPUType(handle, &gpuType);
			if (Succeeded(status)) {
				fprintf(stdout, "GPU type: %d\n", gpuType);
			}
			else {
				Log("NvAPI_GPU_GetGPUType", status);
			}
			NV_GPU_BUS_TYPE busType = NVAPI_GPU_BUS_TYPE_UNDEFINED;
			status = NvAPI_GPU_GetBusType(handle, &busType);
			if (Succeeded(status)) {
				fprintf(stdout, "BUS type: %d\n", busType);
			}
			else {
				Log("NvAPI_GPU_GetBusType", status);
			}
		}
	}
	return 0;
}
投稿日時 : 2008年09月10日 00:11