Nothing Special   »   [go: up one dir, main page]

Skip to main content

The data-parallel C language NCX and its implementation strategies

  • Invited Talk 9
  • Conference paper
  • First Online:
Theory and Practice of Parallel Programming (TPPP 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 907))

Included in the following conference series:

Abstract

NCX is an extended C language for data-parallelism, which is one of the most important computation models to support realistic applications of massively parallel computers. The design criteria of the language include easy shifting from the C language, low-cost implementation of efficient compilers, and high integrity as a programming language. The language is based on the concept of virtual processors, each being powerful enough to execute the full-set C language. Several features for data-parallel computation, such as inter-processor communication, are added to the language so that they obey the design principles of the base language C. The language is intended to be used on various architectures, and is now being implemented for some machines with different architectures. In order to support low-cost but efficient implementation of NCX, a preprocessor, called NICS, has been developed, which performs common, machine-independent analysis and generates intermediate code. This paper overviews the major extended features of NCX, together with some programming examples, and shows that NCX provides sufficient expressive power for data-parallel computation while it is based on the simple and clear notion of virtual processors. This paper also introduces NICS and shows how it can be used in compiler construction.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bagrodia, R., Chandy, K. M., and Kwan, E.: “UC: A Language for the Connection Machine”, Proceedings Supercomputing '90, pp.525–534 (1990).

    Google Scholar 

  2. Hatcher, P. J. and Quinn, M. J.: “Data-Parallel Programming on MIMD Computers”, MIT Press (1991).

    Google Scholar 

  3. High Performance Fortran Forum: “High Performance Fortran Language Specification (Version 1.0 DRAFT)”, Rice University (1992).

    Google Scholar 

  4. Ishihata, H., Horie, T., Inano, S., Shimizu, T., and Kato, S.: “An Architecture of Highly Parallel Computer AP1000”, IEEE Pacific Rim Conf. on Communications, Computers and Signal processing, pp. 13–16 (1991).

    Google Scholar 

  5. Kernighan, B. W. and Ritchie, D. M.: “The C programming language second edition”, Prentice Hall (1988).

    Google Scholar 

  6. MasPar Computer Corporation: “MasPar Parallel Application Language (MPL) User Guide”, Document Part Number 9302–0100 (1991).

    Google Scholar 

  7. Prakash, S., Dhagat, M., and Bagrodia, R.: “Synchronization Issues in Data-Parallel Languages”, Languages and Compilers for Parallel Computing, Springer Lecture Notes in Computer Science, pp.76–95 (1993).

    Google Scholar 

  8. Rose, J. R. and Steele Jr., G. L.: “C: An Extended C Language for Data Parallel Programming”, Proceedings of the 2nd International Conference on Supercomputing (1987).

    Google Scholar 

  9. Stallman, R. M.: “Using and Porting GNU CC”, Free Software Foundation, Inc. (1990).

    Google Scholar 

  10. Thinking Machines Corporation: “C Programming Guide” (1993).

    Google Scholar 

  11. Tichy, W. F., Philippsen, M., and Hatcher, P.: “A critique of the programming language C”, Comm. ACM, 35(6), pp. 21–24 (1992).

    Google Scholar 

  12. Yuasa, T. et.al.: “The Data-parallel C Language NCX Language Specification (Version 3)” (in Japanese), Toyohashi University of Technology, (1993).

    Google Scholar 

  13. Yuasa, T.: “SM-1 and Its Language Systems”, in Parallel Language and Compiler Research in Japan edited by Nicolau, A., Sato, M., and Bic, L., Kluwer Academic Press (to appear).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Takayasu Ito Akinori Yonezawa

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Yuasa, T., Kijima, T., Konishi, Y. (1995). The data-parallel C language NCX and its implementation strategies. In: Ito, T., Yonezawa, A. (eds) Theory and Practice of Parallel Programming. TPPP 1994. Lecture Notes in Computer Science, vol 907. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0026583

Download citation

  • DOI: https://doi.org/10.1007/BFb0026583

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-59172-6

  • Online ISBN: 978-3-540-49218-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics