# CSC to CSR Transformation in GPU

**URL:** <https://discourse.julialang.org/t/csc-to-csr-transformation-in-gpu/102697>\
**Category:** GPU\
**Tags:** cuda\
**Created:** [August 10, 2023, 10:39pm UTC](https://discourse.julialang.org/t/csc-to-csr-transformation-in-gpu/102697 "2023-08-10T22:39:33Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![A\_M](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/a_m/32/46038_2.png) [@A\_M](https://discourse.julialang.org/u/A_M)\
**Post date:** [August 10, 2023, 10:39pm UTC](https://discourse.julialang.org/t/csc-to-csr-transformation-in-gpu/102697/1 "2023-08-10T22:39:33Z")

</div>

Is there any way to transfer A in CSC to CSR in CUDA using Adjoint?

n\_rows = 1000000  
n\_cols = 1000000  
nnz = 10000000  
row\_indices = rand(1:n\_rows, nnz)  
col\_indices = rand(1:n\_cols, nnz)  
values = rand(nnz)

A = sparse(row\_indices, col\_indices, values, n\_rows, n\_cols)  
At\_cpu = sparse(adjoint(A))  
A\_rowptr\_cpu = At\_cpu.colptr  
A\_colval\_cpu = At\_cpu.rowval  
A\_nzval\_cpu = At\_cpu.nzval

---

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [August 10, 2023, 11:07pm UTC](https://discourse.julialang.org/t/csc-to-csr-transformation-in-gpu/102697/2 "2023-08-10T23:07:38Z")

</div>

> [@A\_M](#):
>
> `A = sparse(row_indices, col_indices, values, n_rows, n_cols)`

Why not create the array in CSR to begin with by transposing the constructor(s)? Call `At = sparse(col_indices, row_indices, values, n_rows, n_cols)`, and then you have `rowptr = At.colptr`, `colval = At.rowval`, `nzval = At.nzval`.

---

<div class="post-metadata">

**Author:** ![A\_M](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/a_m/32/46038_2.png) [@A\_M](https://discourse.julialang.org/u/A_M)\
**Post date:** [August 10, 2023, 11:21pm UTC](https://discourse.julialang.org/t/csc-to-csr-transformation-in-gpu/102697/3 "2023-08-10T23:21:28Z")

</div>

Because I am getting the A in CSC format, this is not the whole code.
