T++: An object-oriented language to express task and data parallelism on Multi-SIMD computers

  • Marc Michel Pic
  • Hassane Essafi
  • Marc Viala
  • Laurent Nicolas
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 964)


In this paper we introduce T++: a parallel language with object-oriented features designed for Multi-SIMD parallel computers. We propose a new approach to express simultaneously task and data parallelism. We describe the advantages of an object-oriented approach and what kind of semantics we choose to structure our task-data-parallelism. Finally, we explain how to implement it efficiently on a proprietary Multi-SIMD architecture: the SYMPHONIE concept.


task-parallelism data-parallelism massively parallel systems language constructs semantics Multi-SIMD computers scientific computing 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [CK92a]
    K. M. Chandy and C. Kesselman. The cc++ language definition. Technical Report Caltech-CS-TR-92-02, California Institue of Technology, 1992.Google Scholar
  2. [CK92b]
    K. M. Chandy and C. Kesselman. The derivation of compositional programs. In Joint International Conference and Symposium on Logic Programming. MIT Press, 1992.Google Scholar
  3. [DJL88]
    H. Essafi, D. Juvin, J.L. Basille and J.Y. Latil. Sympati 2, a 1.5 d processor array for image application. In J.L. Lacoume A. Chehikian N. Martin and J. Malbos, editors, Signal Processing IV: Theories and Applications. Elsevier Science Publishers B.V. (North-Holland), 1988.Google Scholar
  4. [Don91]
    T. Mac Donald. C for numerical computing. J. of Supercomputing, 5, 1991.Google Scholar
  5. [Dut89]
    P. Dutilleux. An implementation of the algorithme à trous to compute wavelet transform. Springer-Verlag, 1989.Google Scholar
  6. [EG77]
    D. Esteban and C. Galand. Application of quadraqture mirror filters to split band voice coding systems. In International Conference on Acoustic, Speech and Signal Processing, pages 191–195, Washington, USA, May 1977.Google Scholar
  7. [FC92]
    I. Foster and K.M. Chandy. Fortran m: A language for modular parallel programming. J. Parallel and Distributed Computing, 1992. (to appear), Preprint MCS-P327-0992.Google Scholar
  8. [Gal83]
    C. Galand. Codage en sous-bandes: théorie et application à la compression numérique du signal de la parole. PhD thesis, Université de Nice-France, March 1983.Google Scholar
  9. [HE92]
    M. Pic H. Essafi. Application of parallel computing to wavelet transform. In International Conference on Wavelets and Applications, Toulouse, 1992.Google Scholar
  10. [HPC94]
    Hpc++, extreme computing. Technical report, California Institute of Technology and CICA, University of Indiana, 1994. Scholar
  11. [IFC94]
    B. Avalani I. Foster, M. Xu and A. Choudhary. A compilation system that integrates high performance fortran and fortran m. In Scalable High Peformance Computing Conf. IEEE Computer Science Press, 1994. (to appear).Google Scholar
  12. [Lee88]
    D. Lee. Scrambled storage for parallel memory systems. In Internat. Symp. Comput. Architecture, 1988.Google Scholar
  13. [Mal89a]
    S. G. Mallat. Multifrequency channel decompositions of images and wavelet models. IEEE Trans. on Acoustics, Speech and Signal Processing, 37(12):2091–2110, 1989.Google Scholar
  14. [Mal89b]
    S. G. Mallat. A theory for multiresolution signal decomposition: The wavelet representation. IEEE Trans. on Pattern Analysis and Machine Inte lligence, 11(7):674–693, 1989.Google Scholar
  15. [MHP88]
    Morlet J. M. Holschneider, Krondland-Martinet R. and Tchamitchian P. The algorithme à trous., May 1988.Google Scholar
  16. [MP93]
    D. Juvin, M. Pic, H. Essafi. Wavelet transform on parallel simd architectures. In Visual Information Processing II, volume 1961 of SPIE Proceedings, Orlando, 1993. SPIE.Google Scholar
  17. [Par92]
    N. Paris. Definition of pompc. Technical Report LIENS-92-5-bis, Ecole Normale Supérieure, 1992.Google Scholar
  18. [PB71]
    D.J. Kuck P. Budnik. the organization and use of parallel memories. IEEE Trans. Comput., C-20, 1971.Google Scholar
  19. [PH91]
    M.J. Quinn, P.J. Hatcher. Data-Parallel Programming on MIMD computers. M.I.T. Press, Cambridge (Massachusetts), 1991.Google Scholar
  20. [Sta94]
    R. Stallman. Using and porting gnu cc. Technical report, GNU is Not Un*x, 1994.Google Scholar
  21. [TCK92]
    D. Juvin T. Colette, H. Essafi and J. Kaiser. Sympati x: A simd computer performing the low and intermediate levels of image processing. In PARLE, June 1992.Google Scholar
  22. [TMC91]
    C* programming guide. Technical report, Thinking Machines Corporation, 1991.Google Scholar
  23. [Wic90]
    M.V. Wickerhauser. Picture compression by best-basis sub-band coding. Technical report, Yale University, New Haven, Connecticut, 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Marc Michel Pic
    • 1
  • Hassane Essafi
    • 1
  • Marc Viala
    • 1
  • Laurent Nicolas
    • 1
  1. 1.LETI (CEA-Technologies Avancées)Gif-sur-Yvette Cedex

Personalised recommendations