Accessing multidimensional array elements from different tasks

I have global array defined as follows:
int calculate[2][10];

Task 1 read/write calculate[0][0…9] - elements only
Task 2 read/write calculate[1][0…9] - elements only.

Both tasks never access each others elements.
Do I need to use mutex or semaphore to protect access of this array?

Doesn’t sound like it. On a multi core machine with seperate caches, you might get problems.

Thanks Richard, mine is a single core MCU embedded device.

Yes, the typical processor for FreeRTOS won’t have a problem. And the multi-core issues tend to be speed-related, not erroneous results as the cores block on cache invalidations.