• DocumentCode
    2128950
  • Title

    Design of a custom vector operation API exploiting SIMD intrinsics within Java

  • Author

    Parri, Jonathan ; Desmarais, John-Marc ; Shapiro, Daniel ; Bolic, Miodrag ; Groza, Voicu

  • Author_Institution
    Comput. Archit. Res. Group, Univ. of Ottawa, Ottawa, ON, Canada
  • fYear
    2010
  • fDate
    2-5 May 2010
  • Firstpage
    1
  • Lastpage
    4
  • Abstract
    The use of Single Instruction Multiple Data (SIMD) operations can be instrumental in meeting the needs of high performance computations. Most languages, including C/C++, give a user the power to directly exploit this hardware and inherent parallelism. We have created a retargetable native SIMD library which Java programmers are now able to use to directly access SIMD intrinsics including MMX, SSE1, SSE2 and SSE3 through prescribed Java methods in an API. This API gives users direct control over their high-performance computations instead of solely relying on the SIMD optimizations of the Java Virtual Machine (JVM), or relying on a GPU which must send and receive the data from the CPU. Through the use of this Java API and the included backing library, substantial performance gains can be achieved on large and complex vector operations. We show an example for which the API obtains a 2x to 3x speedup for both small and large data sets as compared to solely relying on the SIMD optimizations in the JVM.
  • Keywords
    Java; application program interfaces; coprocessors; parallel processing; software libraries; virtual machines; GPU; Java Virtual Machine; custom vector operation API; native SIMD library; single instruction multiple data operation; Computer architecture; Java; Libraries; Manuals; Optimization; Parallel processing; Registers; Java API; Parallelism; SIMD; SSE; Streaming SIMD Extensions; Vector Operations;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Electrical and Computer Engineering (CCECE), 2010 23rd Canadian Conference on
  • Conference_Location
    Calgary, AB
  • ISSN
    0840-7789
  • Print_ISBN
    978-1-4244-5376-4
  • Electronic_ISBN
    0840-7789
  • Type

    conf

  • DOI
    10.1109/CCECE.2010.5575190
  • Filename
    5575190