úÎ!S×O§4      !"#$%&'()*+,-./0123None b4nvvm*Instance for special casing null pointers.5nvvm:Given a bit pattern, yield all bit masks that it contains.›This does *not* attempt to compute a minimal set of bit masks that when combined yield the bit pattern, instead all contained bit masks are produced.6nvvmIntegral conversion7nvvmFloating conversion8nvvmObtain C value from Haskell 9.:nvvmObtain Haskell 9 from C value.;nvvm#Convert a C enumeration to Haskell.<nvvm#Convert a Haskell enumeration to C.=>?@ABCDEFGH4IJ5678:;<[2016] Trevor L. McDonellBSDNone2cnvvmNVVM API function return code nvvm\Throw an exception. Exceptions may be thrown from pure code, but can only be caught in the K monad. nvvmRaise an NVVM exception in the K monadnvvm#A specially formatted error messagenvvmWReturn the result of a function on successful execution, otherwise throw an exception.nvvm1Throw an exception on an unsuccessful return codenvvm<Get the descriptive message string for the given result code   [2016] Trevor L. McDonellBSDNoneanvvm”Get the version of NVVM IR supported by this library. The first component is the NVVM IR version, and the second the version of the debug metadata.Requires: CUDA-7.0 ihttp://docs.nvidia.com/cuda/libnvvm-api/group__query.html#group__query_1g0894677934db095b3c40d4f8e2578cc5nvvm#Get the version of the NVVM library ihttp://docs.nvidia.com/cuda/libnvvm-api/group__query.html#group__query_1gcdd062f26078d20ded68f1017e999246[2016] Trevor L. McDonellBSDNoneFM—nvvmProgram compilation optionsnvvmAoptimisation level, from 0 (disable optimisations) to 3 (default)nvvm9target architecture to compile for (default: compute 2.0)nvvmfflush denormal values to zero when performing single-precision floating-point operations (default: no)nvvm:disable fused-multiply-add instructions (default: enabled)nvvmVuse a fast approximation for single-precision floating-point square root (default: no)nvvmbuse a fast approximation for single-precision floating-point division and reciprocal (default: no) nvvm1generate debugging information (-g) (default: no)!nvvm(The result of compiling an NVVM program.#nvvmHThe compiled kernel, which can be loaded into the current program using 'Foreign.CUDA.Driver.loadData*'$nvvm3Warning messages generated by the compiler/verifier%nvvmAn NVVM program&nvvmWCompile an NVVM IR module, in either bitcode or textual representation, into PTX code.'nvvm5Compile a collection of NVVM IR modules into PTX code(nvvmCreate an empty % uhttp://docs.nvidia.com/cuda/libnvvm-api/group__compilation.html#group__compilation_1g46a0ab04a063cba28bfbb41a1939e3f4)nvvm Destroy a % uhttp://docs.nvidia.com/cuda/libnvvm-api/group__compilation.html#group__compilation_1gfba94cab1224c0152841b80690d366aa*nvvm'Add a module level NVVM IR to a program uhttp://docs.nvidia.com/cuda/libnvvm-api/group__compilation.html#group__compilation_1g0c22d2b9be033c165bc37b16f3ed75c6+nvvmAs with *A, but read the specified number of bytes from the given pointer., nvvm(Add a module level NVVM IR to a program.LThe module is loaded lazily: only symbols required by modules loaded using * or + will be loaded.Requires CUDA-10.0 vhttps://docs.nvidia.com/cuda/libnvvm-api/group__compilation.html#group__compilation_1g5356ce5063db232cd4330b666c62219b- nvvmAs with ,“, but read the specified number of bytes from the given pointer (the symbols are loaded lazily, the data in the buffer will be read immediately).Requires CUDA-10.0.nvvmoCompile the NVVM program. Returns the log from the compiler/verifier and, if successful, the compiled program. uhttp://docs.nvidia.com/cuda/libnvvm-api/group__compilation.html#group__compilation_1g76ac1e23f5d0e2240e78be0e63450346/nvvmpVerify the NVVM program. Returns whether compilation will succeed, together with any error or warning messages.&nvvmname of the modulenvvm3NVVM IR in either textual or bitcode representationnvvmcompiler options'nvvm.(module name, module NVVM IR) pairs to compilenvvmcompiler options*nvvmNVVM program to add tonvvm!Name of the module (defaults to " <unnamed> " if empty)nvvm:NVVM IR module in either bitcode or textual representation+nvvmNVVM program to add tonvvm!Name of the module (defaults to " <unnamed> " if empty)nvvmNumber of bytes in the modulenvvm3NVVM IR module in bitcode or textual representation,nvvmNVVM program to add tonvvm!Name of the module (defaults to " <unnamed> " if empty)nvvm:NVVM IR module in either bitcode or textual representation-nvvmNVVM program to add tonvvm!Name of the module (defaults to " <unnamed> " if empty)nvvmNumber of bytes in the modulenvvm,NVVM IR in bitcode or textual representation !"#$%&'()*+,-./%!"#$ &'()*+,-./[2016] Trevor L. McDonellBSDNoneN÷+  !"#$%&'()*+,-./L      !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ>?RS#nvvm-0.9.0.0-7H123KwghEWLKhuMcTkFTkForeign.NVVM.ErrorForeign.NVVM.InfoForeign.NVVM.CompileForeign.NVVM.Internal.C2HS Foreign.NVVMStatusSuccess OutOfMemoryProgramCreationFailureIRVersionMismatch InvalidInputInvalidProgram InvalidIR InvalidOptionNoModuleInProgramCompilationFailuredescribe nvvmError nvvmErrorIO requireSDK resultIfOk nothingIfOk checkStatus $fEnumStatus$fShowNVVMException$fExceptionNVVMException $fEqStatus $fShowStatus nvvmIRVersion nvvmVersion CompileOptionOptimisationLevelTarget FlushToZeroNoFMAFastSqrtFastDivGenerateDebugInfoResult compileResult compileLogProgram compileModulecompileModulescreatedestroy addModuleaddModuleFromPtr addModuleLazyaddModuleLazyFromPtrcompileverify $fEqProgram $fShowProgram$fEqCompileOption$fShowCompileOption nothingIfNullextractBitMaskscIntConv cFloatConv cFromBoolghc-prim GHC.TypesBoolcToBoolcToEnum cFromEnumwithCStringLenIntConvpeekCStringLenIntConv withIntConv withFloatConv peekIntConv peekFloatConvwithBoolpeekBool peekArrayWithwithEnumpeekEnum nothingIfcombineBitMaskscontainsBitMaskIO