Hello.
In a program i am writing, i have an array which size is equal to
the number of nodes in my cluster.
I made this array to keep an eye of the objects that each node has
in his control and when i use it with the actual ranks of the nodes
as positions ( array[node_rank]=objects;) it returns me an
error and stops the execution:
rank 0 in job 10 Calliope_49755 caused collective abort of all
ranks
exit status of rank 0: killed by signal 11
However, i had freely used the variable id or node_rank
to point out a specific action for a specific node since now and
never had problems.
If instead of using the ranks node as a pointer for the array, i use
an integer i.e. 5, the program runs fine, but even now, 1 out of 7
executions, it returns me an error and stops. The action i am
calling that keeps returning me the error is a simple abstraction (array[id]--;).
Any ideas?
PS. The array is 1d and is created by allocating memory, like this :
int *array = malloc(processes * sizeof(int));