This work describes the conditions for creating optimizing parallelizing compilers for computing systems with distributed memory. Optimizing program transformations as specific to distributed systems memory, and converting programs that are needed for distributed memory computing systems and can improve compilers for computer systems and shared memory. Are given arguments in favor of creating parallelizing compilers for distributed memory computing systems follows based on a high-level internal representation and with high-level output language.