@@ -598,19 +598,22 @@ static void get_available_nvidia_ram(COPROC_NVIDIA &cc, vector<string>& warnings
598598 return ;
599599 }
600600 // cuMemGetInfo_v2() always returns 201 (no context)
601- if (false && p_cuMemGetInfo_v2) {
601+ if (p_cuMemGetInfo) {
602+ retval = (*p_cuMemGetInfo)(&memfree, &memtotal);
603+ snprintf (buf, sizeof (buf),
604+ " cuMemGetInfo() returned %d; dev %d free %zu total %zu" ,
605+ retval, cc.device_num , memfree, memtotal
606+ );
607+ gpu_warning (warnings, buf);
608+ } else if (p_cuMemGetInfo_v2) {
602609 retval = (*p_cuMemGetInfo_v2)(&memfree, &memtotal);
610+ snprintf (buf, sizeof (buf),
611+ " cuMemGetInfo_v2() returned %d; dev %d free %zu total %zu" ,
612+ retval, cc.device_num , memfree, memtotal
613+ );
614+ gpu_warning (warnings, buf);
603615 } else {
604- retval = (*p_cuMemGetInfo)(&memfree, &memtotal);
605- }
606- snprintf (buf, sizeof (buf),
607- " cuMemGetInfo() returned %d; dev %d free %zu total %zu" ,
608- retval, cc.device_num , memfree, memtotal
609- );
610- gpu_warning (warnings, buf);
611- if (retval) {
612- (*p_cuCtxDestroy)(ctx);
613- return ;
616+ gpu_warning (warnings, " No MemGetInfo function available" );
614617 }
615618 (*p_cuCtxDestroy)(ctx);
616619 cc.available_ram = (double ) memfree;
0 commit comments