You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
synopsis="Repa-like array processing using LLVM JIT";
22
+
description="This library processes arrays like @Repa@ and @Accelerate@,\nbut it uses the just-in-time compiler of @LLVM@\nfor generating the machine code.\nThat is, you get very efficient vectorised code\nthat can be run without a GPU.\nYou do not need to care about inlining and strictness annotations,\nbecause the LLVM code is by default inlined and strict.\nThe package is intended as the basis\nfor an LLVM backend for the @Accelerate@ framework.\n\nHighlights:\n\n* Very flexible index handling,\neven more flexible than the one of 'Data.Array'.\nIt is much more expressive and type-safe than that of @repa@ and @array@.\n\n* Extensible element types, e.g. complex numbers.\n(Maybe this is also possible with accelerate, e.g. with RGB type.)\n\n* Every compilable program also runs.\nIn contrast to that, @accelerate@ may accept a program\nthat cannot be run by a particular backend, like @accelerate-cuda@.\n\nKnown deficiencies:\n\n* The functions do not check array bounds.\n(Of course, we can think about temporary bound checking\nfor debugging purposes.)\n\n* The package does not try to distribute work across multiple processors.\nIt is certainly simpler, more efficient and more reliable\nif you do that at a higher level.\n\nThe name of the package is inspired by the visualization of typical operations\nlike reshaping, collapsing a dimension and extruding another one.";
0 commit comments