51 if (hasArchAcceleratedFeatures(requiredFullSmVersion))
52 return hasArchAcceleratedFeatures(targetFullSmVersion) &&
53 (getSMVersion(targetFullSmVersion) ==
54 getSMVersion(requiredFullSmVersion));
56 if (hasFamilySpecificFeatures(requiredFullSmVersion))
57 return hasFamilySpecificFeatures(targetFullSmVersion) &&
58 (getSMFamily(targetFullSmVersion) ==
59 getSMFamily(requiredFullSmVersion)) &&
60 (getSMVersion(targetFullSmVersion) >=
61 getSMVersion(requiredFullSmVersion));
63 return targetFullSmVersion >= requiredFullSmVersion;
75 if (!smVersionString.empty()) {
81 smVersionString = smVersionString.drop_back();
85 if (smVersionString.empty() ||
86 smVersionString.getAsInteger(10, smVersion) ||
87 smVersion > (std::numeric_limits<unsigned>::max() - suffix) / 10)
90 return smVersion * 10 + suffix;