Robin Kuzmin
Robin Kuzmin
In the path https://github.com/microsoft/qsharp-runtime/tree/main/src/Simulation/Native there's a number of binary files whose name ends with `_test`. Those are test executables (in ELF format, likely for Linux) generated during the build. We...
Develop a consistent strategy on "automatically resetting or not resetting all qubits on release".
[Discussion](https://github.com/microsoft/qsharp-runtime/pull/918#discussion_r792769094). **Copy:** cgranade This appears to automatically reset all qubits on release, but that's not the semantics used in any other of our simulators, I believe. I know @swernli led...
Sparse Simulator Sec: Cassandra: Apologies that this is somewhat tangential, but I note from this description [Sparse Simulator Sec] that the new simulator [Sparse Simulator] is not considered experimental like...
After [this PR](https://github.com/microsoft/qsharp-runtime/pull/889) is merged (the Native Simulator (NS) is migrated to Clang), the NS will be built with Ninja generator on Windows, but without Ninja on Mac and Linux...
The [actual implementation](https://github.com/microsoft/qsharp-runtime/blob/7736de760cf2ae9b3a099ba8df9713fffe453005/src/Qir/Runtime/lib/QIR/callables.cpp#L161-L169) of `__quantum__rt__capture_update_reference_count` `__quantum__rt__capture_update_alias_count` violates the [spec](https://github.com/qir-alliance/qir-spec/blob/main/specification/v0.1/2_Callables.md), see the end of the page: "Does nothing if the memory management table pointer or the function pointer at that index...
After migrating the [native simulator](https://github.com/microsoft/qsharp-runtime/tree/main/src/Simulation/Native) from GCC to Clang there is a number of warnings. See [tmp PR](https://github.com/microsoft/qsharp-runtime/pull/881), [GitHub issue](https://github.com/microsoft/qsharp-runtime/issues/876). Resolve those (Debug and Release). Make another pass through the...
src\Simulation\Native\src\simulator\kernels.hpp ```c++ template unsigned getvalue( std::vector const& wfn, unsigned q, double eps = 100. * std::numeric_limits::epsilon()) ``` With GCC no problems. With clang returns something unexpected in _release_ config on...
src\Simulation\Native\build-native-simulator.ps1 The option `-fsanitize=unsigned-integer-overflow` reports overflows in NativeSimulator. Strictly speaking unsigned integer overflow is _not_ an undefined behavior, but is not always intended. The option should be disabled for specific...
src/Qir/Tests/test-qir-tests.ps1 ``` if (-not ($IsWindows)) { $env:LSAN_OPTIONS += "suppressions=../../../../LSan.ignore" # https://clang.llvm.org/docs/AddressSanitizer.html#suppressing-memory-leaks $env:ASAN_OPTIONS = "check_initialization_order=true:detect_stack_use_after_return=true:" ` + "alloc_dealloc_mismatch=true:new_delete_type_mismatch=true:strict_init_order=true:strict_string_checks=true" # + ":detect_invalid_pointer_pairs=2" } ``` The option `detect_invalid_pointer_pairs=2` results in `==8218==ERROR: AddressSanitizer: invalid-pointer-pair:...
Currently QIR RT has CMake use Ninja build agent. I believe that Ninja is only required on Windows (without it CMake always uses MSVC compiler instead of clang), and is...