A method of controlling a distribution, between a first processor (Accel-1) and a second processor (C1-C4), of a workload in multiplying a sparse matrix by a vector using a Sparse-Matrix Vector Multiplication, SPMV, routine executed by each of the processors, the method comprising: determining (S21, S22) a first execution time and a second execution time indicative of times taken by the first and second processors, respectively, to execute the SPMV routine using the vector and at least some of the rows of the sparse matrix; calculating, based on the determined first and second execution times, respective total numbers of the rows of the sparse matrix that are to be multiplied with the vector by the first and second processors such that the time taken by the first processor (Accel-1) to execute the SPMV routine using its respective total number of rows of the sparse matrix is substantially equal to a time comprising the time taken by the second processor (C1-C4) to execute the SPMV routine using its respective total number of rows of the sparse matrix; and assigning, based on the calculated numbers of rows, respective rows of the sparse matrix to the first and second processors for multiplication by the vector, characterised in that the respective rows of the sparse matrix are assigned to the first and second processors for multiplication by the vector by assigning to a single one of the first and second processors rows of the sparse matrix whose processing would require communication between the first and second processors if executed by the other processor and, if the number of rows thus assigned to said single processor does not reach the total number of rows calculated for said single processor, assigning to said single processor rows of the sparse matrix from among the remaining rows of the sparse matrix such that the number of rows assigned to said processor equals the total number of rows calculated for that processor. determining (S21, S22) a first execution time and a second execution time indicative of times taken by the first and second processors, respectively, to execute the SPMV routine using the vector and at least some of the rows of the sparse matrix; calculating, based on the determined first and second execution times, respective total numbers of the rows of the sparse matrix that are to be multiplied with the vector by the first and second processors such that the time taken by the first processor (Accel-1) to execute the SPMV routine using its respective total number of rows of the sparse matrix is substantially equal to a time comprising the time taken by the second processor (C1-C4) to execute the SPMV routine using its respective total number of rows of the sparse matrix; and assigning, based on the calculated numbers of rows, respective rows of the sparse matrix to the first and second processors for multiplication by the vector, characterised in that the respective rows of the sparse matrix are assigned to the first and second processors for multiplication by the vector by assigning to a single one of the first and second processors rows of the sparse matrix whose processing would require communication between the first and second processors if executed by the other processor and, if the number of rows thus assigned to said single processor does not reach the total number of rows calculated for said single processor, assigning to said single processor rows of the sparse matrix from among the remaining rows of the sparse matrix such that the number of rows assigned to said processor equals the total number of rows calculated for that processor.