Skip to content

Commit 8cf9672

Browse files
Renaming QIR v0.2 to QIR v1.0 (#3503)
Signed-off-by: Pradnya Khalate <pkhalate@nvidia.com>
1 parent 0c6fdc2 commit 8cf9672

File tree

13 files changed

+43
-43
lines changed

13 files changed

+43
-43
lines changed

include/cudaq/Optimizer/CodeGen/QIRAttributeNames.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ static constexpr const char BackwardsBranchingFlagName[] =
4747
"backwards_branching";
4848
} // namespace qir0_1
4949

50-
namespace qir0_2 {
50+
namespace qir1_0 {
5151
static constexpr const char RequiredQubitsAttrName[] = "required_num_qubits";
5252
static constexpr const char RequiredResultsAttrName[] = "required_num_results";
5353

@@ -60,6 +60,6 @@ static constexpr const char MultipleTargetBranchingFlagName[] =
6060
"multiple_target_branching";
6161
static constexpr const char MultipleReturnPointsFlagName[] =
6262
"multiple_return_points";
63-
} // namespace qir0_2
63+
} // namespace qir1_0
6464

6565
} // namespace cudaq::opt

include/cudaq/Optimizer/CodeGen/QIRFunctionNames.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ static constexpr const char ReadResultBody[] =
3131
"__quantum__qis__read_result__body";
3232
}
3333

34-
namespace qir0_2 {
34+
namespace qir1_0 {
3535
static constexpr const char ReadResult[] = "__quantum__rt__read_result";
3636
}
3737

lib/Optimizer/CodeGen/ConvertToQIRAPI.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -587,7 +587,7 @@ struct DiscriminateOpRewrite
587587
};
588588

589589
// Supported QIR versions.
590-
enum struct QirVersion { version_0_1, version_0_2 };
590+
enum struct QirVersion { version_0_1, version_1_0 };
591591

592592
template <typename M>
593593
struct DiscriminateOpToCallRewrite
@@ -598,9 +598,9 @@ struct DiscriminateOpToCallRewrite
598598
matchAndRewrite(quake::DiscriminateOp disc, OpAdaptor adaptor,
599599
ConversionPatternRewriter &rewriter) const override {
600600
if constexpr (M::discriminateToClassical) {
601-
if constexpr (M::qirVersion == QirVersion::version_0_2) {
601+
if constexpr (M::qirVersion == QirVersion::version_1_0) {
602602
rewriter.replaceOpWithNewOp<func::CallOp>(
603-
disc, rewriter.getI1Type(), cudaq::opt::qir0_2::ReadResult,
603+
disc, rewriter.getI1Type(), cudaq::opt::qir1_0::ReadResult,
604604
adaptor.getOperands());
605605
} else {
606606
rewriter.replaceOpWithNewOp<func::CallOp>(
@@ -2049,14 +2049,14 @@ struct QuakeToQIRAPIPass
20492049
else
20502050
processOperation<FullQIR</*opaquePtr=*/false>>(typeConverter);
20512051
} else if (apiField[0] == "base-profile") {
2052-
if (apiField.size() > 1 && apiField[1] == "0.2") {
2052+
if (apiField.size() > 1 && apiField[1] == "1.0") {
20532053
if (opaquePtr)
20542054
processOperation<
2055-
BaseProfileQIR</*opaquePtr=*/true, QirVersion::version_0_2>>(
2055+
BaseProfileQIR</*opaquePtr=*/true, QirVersion::version_1_0>>(
20562056
typeConverter);
20572057
else
20582058
processOperation<
2059-
BaseProfileQIR</*opaquePtr=*/false, QirVersion::version_0_2>>(
2059+
BaseProfileQIR</*opaquePtr=*/false, QirVersion::version_1_0>>(
20602060
typeConverter);
20612061
} else {
20622062
if (opaquePtr)
@@ -2069,14 +2069,14 @@ struct QuakeToQIRAPIPass
20692069
typeConverter);
20702070
}
20712071
} else if (apiField[0] == "adaptive-profile") {
2072-
if (apiField.size() > 1 && apiField[1] == "0.2") {
2072+
if (apiField.size() > 1 && apiField[1] == "1.0") {
20732073
if (opaquePtr)
20742074
processOperation<
2075-
AdaptiveProfileQIR</*opaquePtr=*/true, QirVersion::version_0_2>>(
2075+
AdaptiveProfileQIR</*opaquePtr=*/true, QirVersion::version_1_0>>(
20762076
typeConverter);
20772077
else
20782078
processOperation<
2079-
AdaptiveProfileQIR</*opaquePtr=*/false, QirVersion::version_0_2>>(
2079+
AdaptiveProfileQIR</*opaquePtr=*/false, QirVersion::version_1_0>>(
20802080
typeConverter);
20812081
} else {
20822082
if (opaquePtr)
@@ -2265,14 +2265,14 @@ struct QuakeToQIRAPIPrepPass
22652265
}
22662266

22672267
static StringRef getRequiredQubitsAttrName(StringRef version) {
2268-
if (version == "0.2")
2269-
return cudaq::opt::qir0_2::RequiredQubitsAttrName;
2268+
if (version == "1.0")
2269+
return cudaq::opt::qir1_0::RequiredQubitsAttrName;
22702270
return cudaq::opt::qir0_1::RequiredQubitsAttrName;
22712271
}
22722272

22732273
static StringRef getRequiredResultsAttrName(StringRef version) {
2274-
if (version == "0.2")
2275-
return cudaq::opt::qir0_2::RequiredResultsAttrName;
2274+
if (version == "1.0")
2275+
return cudaq::opt::qir1_0::RequiredResultsAttrName;
22762276
return cudaq::opt::qir0_1::RequiredResultsAttrName;
22772277
}
22782278

python/runtime/cudaq/algorithms/py_translate.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ path, i.e., the trace, of the provided `kernel`.
6666
Args:
6767
format (str): format to translate to, <name[:version]>.
6868
Available format names: `qir`, `qir-full`, `qir-base`, `qir-adaptive`,
69-
`openqasm2`. QIR versions: `0.1` and `0.2`.
69+
`openqasm2`. QIR versions: `0.1` and `1.0`.
7070
kernel (:class:`Kernel`): The :class:`Kernel` to translate.
7171
*arguments (Optional[Any]): The concrete values to evaluate the kernel
7272
function at. Leave empty if the kernel doesn't accept any arguments.

python/tests/mlir/qir_profile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def my_kernel():
3333
x(q)
3434
mz(q)
3535

36-
# This device requires qir:0.2
36+
# This device requires qir:1.0
3737
cudaq.set_target('quantinuum', emulate=True, machine='Helios-1E')
3838
result = cudaq.sample(my_kernel)
3939

runtime/common/CodeGenConfig.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ std::vector<std::string> splitString(const std::string &s,
2828

2929
/// @brief Helper to parse `codegen` translation, with optional feature
3030
/// annotation.
31-
// e.g., "qir-adaptive:0.2:int_computations,float_computations"
31+
// e.g., "qir-adaptive:1.0:int_computations,float_computations"
3232
static std::tuple<std::string, std::string, std::vector<std::string>>
3333
parseCodeGenTranslationString(const std::string &settingStr) {
3434
auto transportFields = splitString(settingStr, ':');
@@ -100,10 +100,10 @@ cudaq::parseCodeGenTranslation(const std::string &codegenTranslation) {
100100
config.version = QirVersion::version_0_1;
101101
config.qir_major_version = 0;
102102
config.qir_minor_version = 1;
103-
} else if (codeGenVersion == "0.2") {
104-
config.version = QirVersion::version_0_2;
105-
config.qir_major_version = 0;
106-
config.qir_minor_version = 2;
103+
} else if (codeGenVersion == "1.0") {
104+
config.version = QirVersion::version_1_0;
105+
config.qir_major_version = 1;
106+
config.qir_minor_version = 0;
107107
} else {
108108
throw std::runtime_error(
109109
fmt::format("Unsupported QIR version '{}', codegen setting: {}",

runtime/common/CodeGenConfig.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
namespace cudaq {
1717

18-
enum struct QirVersion { version_0_1, version_0_2 };
18+
enum struct QirVersion { version_0_1, version_1_0 };
1919

2020
/// @brief `Codegen` configuration.
2121
/// Note: it is currently flattened to contain all possible options
@@ -52,7 +52,7 @@ struct CodeGenConfig {
5252

5353
/// @brief Helper to parse `codegen` translation, with optional feature
5454
/// annotation.
55-
/// e.g., `qir-adaptive:0.2:int_computations,float_computations`.
55+
/// e.g., `qir-adaptive:1.0:int_computations,float_computations`.
5656
/// Handles errors and returns structured configuration.
5757
CodeGenConfig parseCodeGenTranslation(const std::string &codegenTranslation);
5858
} // namespace cudaq

runtime/common/RecordLogParser.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ void cudaq::RecordLogParser::handleMetadata(
8383
if (entries.size() < 2 || entries.size() > 3)
8484
cudaq::info("Unexpected METADATA record: {}. Ignored.\n", entries);
8585
if (entries.size() == 3) {
86-
if (entries[1] == cudaq::opt::qir0_2::RequiredResultsAttrName ||
86+
if (entries[1] == cudaq::opt::qir1_0::RequiredResultsAttrName ||
8787
entries[1] == cudaq::opt::qir0_1::RequiredResultsAttrName) {
8888
metadata[ResultCountMetadataName] = entries[2];
8989
} else {

runtime/common/RecordLogParser.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ class DataHandler : public DataHandlerBase {
282282

283283
namespace {
284284
// Simplify look up of the required number of results by using a common
285-
// identifier instead of different QIR versions (0.1 and 0.2)
285+
// identifier instead of different QIR versions (0.1 and 1.0)
286286
constexpr char ResultCountMetadataName[] = "required_results";
287287
} // namespace
288288

runtime/common/RuntimeMLIRCommonImpl.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -336,12 +336,12 @@ mlir::LogicalResult verifyQubitAndResultRanges(llvm::Module *llvmModule) {
336336
cudaq::opt::qir0_1::RequiredQubitsAttrName, NotFound);
337337
if (required_num_qubits == NotFound)
338338
required_num_qubits = func.getFnAttributeAsParsedInteger(
339-
cudaq::opt::qir0_2::RequiredQubitsAttrName, 0);
339+
cudaq::opt::qir1_0::RequiredQubitsAttrName, 0);
340340
required_num_results = func.getFnAttributeAsParsedInteger(
341341
cudaq::opt::qir0_1::RequiredResultsAttrName, NotFound);
342342
if (required_num_results == NotFound)
343343
required_num_results = func.getFnAttributeAsParsedInteger(
344-
cudaq::opt::qir0_2::RequiredResultsAttrName, 0);
344+
cudaq::opt::qir1_0::RequiredResultsAttrName, 0);
345345
break; // no need to keep looking
346346
}
347347
}
@@ -578,20 +578,20 @@ mlir::LogicalResult qirProfileTranslationFunction(
578578
llvm::Constant *intPrecisionValue =
579579
llvm::ConstantDataArray::getString(*llvmContext, "i64", false);
580580
llvmModule->addModuleFlag(llvm::Module::ModFlagBehavior::Error,
581-
cudaq::opt::qir0_2::IntComputationsFlagName,
581+
cudaq::opt::qir1_0::IntComputationsFlagName,
582582
intPrecisionValue);
583583
}
584584
if (config.floatComputations) {
585585
llvm::Constant *floatPrecisionValue =
586586
llvm::ConstantDataArray::getString(*llvmContext, "f64", false);
587587
llvmModule->addModuleFlag(llvm::Module::ModFlagBehavior::Error,
588-
cudaq::opt::qir0_2::FloatComputationsFlagName,
588+
cudaq::opt::qir1_0::FloatComputationsFlagName,
589589
floatPrecisionValue);
590590
}
591591
auto backwardsBranchingValue = llvm::ConstantInt::getIntegerValue(
592592
llvm::Type::getIntNTy(*llvmContext, 2), llvm::APInt(2, 0, false));
593593
llvmModule->addModuleFlag(llvm::Module::ModFlagBehavior::Error,
594-
cudaq::opt::qir0_2::BackwardsBranchingFlagName,
594+
cudaq::opt::qir1_0::BackwardsBranchingFlagName,
595595
backwardsBranchingValue);
596596
}
597597
}
@@ -765,7 +765,7 @@ void insertSetupAndCleanupOperations(mlir::Operation *module) {
765765
cudaq::opt::qir0_1::RequiredQubitsAttrName))
766766
requiredQubits.strref().getAsInteger(10, num_qubits);
767767
else if (auto requiredQubits = func->getAttrOfType<mlir::StringAttr>(
768-
cudaq::opt::qir0_2::RequiredQubitsAttrName))
768+
cudaq::opt::qir1_0::RequiredQubitsAttrName))
769769
requiredQubits.strref().getAsInteger(10, num_qubits);
770770

771771
// Further processing on funcOp if needed

0 commit comments

Comments
 (0)