The objective of this paper is to review and assess various computational fluid dynamic techniques used for the analysis and design of turbomachinery. Assessments of accuracy, efficiency, range of applicability, effect of physical approximations, and turbulence models are carried out. Suggestions are made as to the most appropriate technique to be used in a given situation. The emphasis of the paper is on the Euler and Navier-Stokes solvers with a brief assessment of boundary layer solutions, quasi three-dimensional and quasi-viscous techniques. A brief review of the techniques and assessment of the following methods are carried out: pressure-based method, explicit and implicit time marching techniques, pseudo-compressibility technique for incompressible flow, and zonal techniques. Recommendations are made with regard to the most appropriate technique for various flow regimes and types of turbomachinery, incompressible and compressible flows, cascades, rotors, stators, liquid-handling and gas-handling turbomachinery. Computational fluid dynamics has reached a high level of maturity; Euler codes are routinely used in design and analysis, and the Navier-Stokes codes will also be commonplace before the end of this decade. But to capture the realism in turbomachinery rotors and multi-stage turbomachinery, it is necessary to integrate the physical models along with the computational techniques. Turbulence and transition modeling, grid generation, and numerical techniques play a key role. Finally, recommendations are made for future research, including the need for validation data, improved acceleration schemes, techniques for two-phase flow, improved turbulence and transition models, development of zonal techniques, and grid generation techniques to handle complex geometries.