search for: quantum_reg_node_struct

Displaying 3 results from an estimated 3 matches for "quantum_reg_node_struct".

2014 Jan 16
3
[LLVMdev] Loop unrolling opportunity in SPEC's libquantum with profile info
...i++) { /* Flip the target bit of each basis state */ reg->node[i].state ^= ((MAX_UNSIGNED) 1 << target); } The code is writing to the 'state' field. The data structures look like this: typedef struct quantum_matrix_struct quantum_matrix; struct quantum_reg_node_struct { COMPLEX_FLOAT amplitude; /* alpha_j */ MAX_UNSIGNED state; /* j */ }; typedef struct quantum_reg_node_struct quantum_reg_node; /* The quantum register */ struct quantum_reg_struct { int width; /* number of qubits in the qureg */ int size; /* number of non-zero vectors */...
2014 Jan 16
3
[LLVMdev] Loop unrolling opportunity in SPEC's libquantum with profile info
...e Widest type: 64 bits. LV: The Widest register is: 128 bits. LV: Found an estimated cost of 0 for VF 1 For instruction: %indvars.iv = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next, %for.body ] LV: Found an estimated cost of 0 for VF 1 For instruction: %state = getelementptr inbounds %struct.quantum_reg_node_struct* %2, i64 %indvars.iv, i32 1, !dbg !58 LV: Found an estimated cost of 1 for VF 1 For instruction: %3 = load i64* %state, align 8, !dbg !58, !tbaa !61 LV: Found an estimated cost of 1 for VF 1 For instruction: %xor = xor i64 %3, %shl, !dbg !58 LV: Found an estimated cost of 1 for VF 1 For instruc...
2014 Jan 16
11
[LLVMdev] Loop unrolling opportunity in SPEC's libquantum with profile info
I am starting to use the sample profiler to analyze new performance opportunities. The loop unroller has popped up in several of the benchmarks I'm running. In particular, libquantum. There is a ~12% opportunity when the runtime unroller is triggered. This helps functions like quantum_sigma_x (http://sourcecodebrowser.com/libquantum/0.2.4/gates_8c_source.html#l00149). The function accounts