cuquantum.custatevec.multi_device_swap_index_bits

cuquantum.custatevec.multi_device_swap_index_bits(handles, uint32_t n_handles, sub_svs, int sv_data_type, uint32_t n_global_index_bits, uint32_t n_local_index_bits, swapped_bits, uint32_t n_swapped_bits, mask_bit_string, mask_ordering, uint32_t mask_len, int device_network_type)[source]

Swap index bits and reorder statevector elements on multiple devices.

Parameters
  • handles

    A host array of the library handles. It can be

    • an int as the pointer address to the array

    • a Python sequence of int, each of which is a valid library handle

  • n_handles (uint32_t) – The number of handles.

  • sub_svs

    A host array of the sub-statevector pointers. It can be

    • an int as the pointer address to the array

    • a Python sequence of int, each of which is a valid sub-statevector pointer (on device)

  • sv_data_type (cuquantum.cudaDataType) – The data type of the statevectors.

  • n_global_index_bits (uint32_t) – The number of the global index bits.

  • n_local_index_bits (uint32_t) – The number of the local index bits.

  • swapped_bits

    A host array of pairs of swapped index bits. It can be

    • an int as the pointer address to the nested sequence

    • a nested Python sequence of swapped index bits

  • n_swapped_bits (uint32_t) – The number of pairs of swapped index bits.

  • mask_bit_string

    A host array for specifying mask values. It can be

    • an int as the pointer address to the array

    • a Python sequence of mask values

  • mask_ordering

    A host array of mask ordering. It can be

    • an int as the pointer address to the array

    • a Python sequence of index bit ordering

  • mask_len (uint32_t) – The length of mask_ordering.

  • device_network_type (DeviceNetworkType) – The device network topology.