An important problem in heterogeneous computing (HC) is predicting task execution time. A methodology is introduced for determining the execution time distribution for a given data parallel program that is to be executed in an SIMD, MIMD (SPMD), and/or mixed-mode SIMD/MIMD (SPMD) HC environment. The program is assumed to contain operations and constructs whose execution times depend on input-data values. The methodology uses a block-based approach to transform the program into a flow analysis tree and computes the execution time distribution for the program, given the execution modes for each node in the flow analysis tree, an estimated execution time distribution for each operation in both modes, and appropriate probabilistic models for control and data conditional constructs. The results are directly applicable to both mixed-machine and mixed-mode HC systems. © 1997 Academic Press.