コード例 #1
0
VOID PrintAvailableMemory()
{
	WCHAR sz[MAX_PATH] = { 0 };
	_i64tow_s(GetAvailableMemory(), sz, _countof(sz), 10);
	std::wstring s = AddComma(sz);
	logw(L"AvailableMemory: %s", s.c_str());
}
コード例 #2
0
void OpenMPManager::InitializeVectors(int Npoints){
	g_freq = new double[Npoints];
	TrackMemory(size_t(Npoints)*sizeof(double));

	g_intens = new double[Npoints];
	TrackMemory(size_t(Npoints)*sizeof(double));
	
	//We create seperate intensities for each thread
	for(int i = 0; i < total_threads; i++){
		t_intens[i] = new double[Npoints];
		TrackMemory(size_t(Npoints)*sizeof(double));
	}

	if(profile==VOIGT)
		N_trans = GetAvailableMemory()/(sizeof(double)+sizeof(double)+sizeof(double)+sizeof(int)+sizeof(double) + sizeof(double));
	else
		N_trans = GetAvailableMemory()/(sizeof(double)+sizeof(double)+sizeof(double)+sizeof(int));

	printf("Number of transitions in memory = %d\n",N_trans);

	g_energies = new double[N_trans];
	TrackMemory(sizeof(double)*size_t(N_trans));
	g_nu = new double[N_trans];
	TrackMemory(sizeof(double)*size_t(N_trans));
	g_aif = new double[N_trans];
	TrackMemory(sizeof(double)*size_t(N_trans));
	g_gns = new int[N_trans];	
	TrackMemory(sizeof(int)*size_t(N_trans));

	if(profile==VOIGT){
		g_gamma = new double[N_trans];
		TrackMemory(sizeof(double)*size_t(N_trans));
		g_n = new double[N_trans];
		TrackMemory(sizeof(double)*size_t(N_trans));

	}

}