hay i have been works my cuda program abaout fuzzy c means

and i confuse how to implement my serial code to paralel code in CUDA because my function using two dimension array

in my function there is multiply array like pow[(A][B], variabel) and matrix multiply like this t[i][j] * data_point[i][k].

How i can implement this in simple cuda,

Thanks before

function 1

```
int calculate_centre_vectors() {
//printf("tes\n");
int i, j, k, l, m;
double numerator, denominator;
//printf("loop degree_of_memb\n");
for (i = 0; i < num_data_points; i++) {
for (j = 0; j < num_clusters; j++) {
t[i][j] = pow(degree_of_memb[i][j], fuzziness);
}
}
//printf("loop cluster_centre\n");
for (j = 0; j < num_clusters; j++) {
for (k = 0; k < num_dimensions; k++) {
numerator = 0.0;
denominator = 0.0;
for (i = 0; i < num_data_points; i++) {
numerator += t[i][j] * data_point[i][k];
denominator += t[i][j];
}
cluster_centre[j][k] = numerator / denominator;
}
}
}
```

function 2

```
double update_degree_of_membership() {
int i, j;
double new_uij;
double max_diff = 0.0, diff;
for (j = 0; j < num_clusters; j++) {
for (i = 0; i < num_data_points; i++) {
new_uij = get_new_value(i, j);
diff = new_uij - degree_of_memb[i][j];
if (diff > max_diff)
max_diff = diff;
degree_of_memb[i][j] = new_uij;
}
}
return max_diff;
}
```