# Subdividing a matrix into smaller submatrices for multithreading

**URL:** <https://discourse.julialang.org/t/subdividing-a-matrix-into-smaller-submatrices-for-multithreading/119597>\
**Category:** General Usage\
**Created:** [September 19, 2024, 11:32am UTC](https://discourse.julialang.org/t/subdividing-a-matrix-into-smaller-submatrices-for-multithreading/119597 "2024-09-19T11:32:44Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![BBReactionHooper](https://avatars.discourse-cdn.com/v4/letter/b/b3f665/32.png) [@BBReactionHooper](https://discourse.julialang.org/u/BBReactionHooper)\
**Post date:** [September 19, 2024, 11:32am UTC](https://discourse.julialang.org/t/subdividing-a-matrix-into-smaller-submatrices-for-multithreading/119597/1 "2024-09-19T11:32:44Z")

</div>

I would like to perform a multi-threaded operation on a matrix. It makes most sense to subdivide this matrix into smaller submatrices, one for each thread. How do I divide a rectangular matrix into a possible arbitrary number of sub-blocks?

---

<div class="post-metadata">

**Author:** ![abraemer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/abraemer/32/51403_2.png) [@abraemer](https://discourse.julialang.org/u/abraemer)\
**Post date:** [September 19, 2024, 12:02pm UTC](https://discourse.julialang.org/t/subdividing-a-matrix-into-smaller-submatrices-for-multithreading/119597/2 "2024-09-19T12:02:00Z")

</div>

This question is quite unspecific so I’ll give you a rather generic answer: You could use views:

```julia
matrix = rand(10,100)
part1 = @view matrix[1:5,1:50]
part2 = @view matrix[1:5,50:100]
part3 = @view matrix[5:10,1:50]
part4 = @view matrix[5:10,50:100]

```
