packages feed

futhark-0.16.1: src/Futhark/CodeGen/ImpGen/OpenCL.hs

module Futhark.CodeGen.ImpGen.OpenCL
  ( compileProg
  , Warnings
  ) where

import Data.Bifunctor (second)

import Futhark.IR.KernelsMem
import qualified Futhark.CodeGen.ImpCode.OpenCL as OpenCL
import Futhark.CodeGen.ImpGen.Kernels
import Futhark.CodeGen.ImpGen.Kernels.ToOpenCL
import Futhark.MonadFreshNames

compileProg :: MonadFreshNames m => Prog KernelsMem -> m (Warnings, OpenCL.Program)
compileProg prog = second kernelsToOpenCL <$> compileProgOpenCL prog