Thursday, February 03, 2005

Adventures in Supercomputing

So as I said before, I'm performing these benchmarking runs on two supercomputers. The thing I don't understand is the fact that my program seems to break down at 512 processors on one of the computers, and 256 on the other.

It chokes when it's time to send out and receive messages at the very beginning of the program. At the beginning, there are two types of messages sent out: one type that has a constant length regardless of the number of processors, and another one with length inversely proportional to the number of processors (i.e., the more processors, the shorter the message length).

It probably isn't choking on the constant length message, because if it were, it would choke every time, independent of the number of processors. So it must be choking on the variable length message. The thing I don't get is that I would think it would choke at the same number of processors every time.

No comments: