private static void Translate(Module module, MethodBase method) { var function = EmitFunction(module, method); if (method.IsStatic == false) { throw new CudaSharpException("Cannot translate instance methods to GPU code"); } var metadataArgs = new[] { function, PInvoke.LLVMMDStringInContext(module.Context, "kernel"), IntegerType.GetInt32(module.Context).Constant(1, true) }; var metadata = module.Context.MetadataNodeInContext(metadataArgs); module.AddNamedMetadataOperand("nvvm.annotations", metadata); }