@@ -51,52 +51,56 @@ inline std::string GetSuitableCudaVariant(
5151 std::regex cuda_reg (" cuda-(\\ d+)-(\\ d+)" );
5252 std::smatch match;
5353
54- int requestedMajor = 0 ;
55- int requestedMinor = 0 ;
54+ int requested_major = 0 ;
55+ int requested_minor = 0 ;
5656
5757 if (!cuda_version.empty ()) {
58- // Split the provided CUDA version into major and minor parts
59- sscanf (cuda_version.c_str (), " %d.%d" , &requestedMajor, &requestedMinor);
58+ // Split the provided CUDA version into major and minor parts
59+ #if defined(_MSC_VER)
60+ sscanf_s (cuda_version.c_str (), " %d.%d" , &requested_major, &requested_minor);
61+ #else
62+ sscanf (cuda_version.c_str (), " %d.%d" , &requested_major, &requested_minor);
63+ #endif
6064 }
6165
62- std::string selectedVariant ;
63- int bestMatchMajor = -1 ;
64- int bestMatchMinor = -1 ;
66+ std::string selected_variant ;
67+ int best_match_major = -1 ;
68+ int best_match_minor = -1 ;
6569
6670 for (const auto & variant : variants) {
6771 if (std::regex_search (variant, match, cuda_reg)) {
6872 // Found a CUDA version in the variant
69- int variantMajor = std::stoi (match[1 ]);
70- int variantMinor = std::stoi (match[2 ]);
73+ int variant_major = std::stoi (match[1 ]);
74+ int variant_minor = std::stoi (match[2 ]);
7175
72- if (requestedMajor == variantMajor ) {
76+ if (requested_major == variant_major ) {
7377 // If the major versions match, prefer the closest minor version
74- if (requestedMinor >= variantMinor &&
75- (variantMajor > bestMatchMajor ||
76- (variantMajor == bestMatchMajor &&
77- variantMinor > bestMatchMinor ))) {
78- selectedVariant = variant;
79- bestMatchMajor = variantMajor ;
80- bestMatchMinor = variantMinor ;
78+ if (requested_minor >= variant_minor &&
79+ (variant_major > best_match_major ||
80+ (variant_major == best_match_major &&
81+ variant_minor > best_match_minor ))) {
82+ selected_variant = variant;
83+ best_match_major = variant_major ;
84+ best_match_minor = variant_minor ;
8185 }
8286 }
8387 }
8488 }
8589
8690 // If no CUDA version is provided, select the variant without any CUDA in the name
87- if (selectedVariant .empty ()) {
91+ if (selected_variant .empty ()) {
8892 LOG_WARN
8993 << " No suitable CUDA variant found, selecting a variant without CUDA" ;
9094 for (const auto & variant : variants) {
9195 if (variant.find (" cuda" ) == std::string::npos) {
92- selectedVariant = variant;
93- LOG_INFO << " Found variant without CUDA: " << selectedVariant << " \n " ;
96+ selected_variant = variant;
97+ LOG_INFO << " Found variant without CUDA: " << selected_variant << " \n " ;
9498 break ;
9599 }
96100 }
97101 }
98102
99- return selectedVariant ;
103+ return selected_variant ;
100104}
101105
102106inline std::string ValidateTensorrtLlm (const std::vector<std::string>& variants,
0 commit comments