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()); }
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)); } }