File: ocloc_interface.h

package info (click to toggle)
intel-compute-runtime 25.44.36015.8-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 79,632 kB
  • sloc: cpp: 931,547; lisp: 2,074; sh: 719; makefile: 162; python: 21
file content (58 lines) | stat: -rw-r--r-- 2,971 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
 * Copyright (C) 2022-2025 Intel Corporation
 *
 * SPDX-License-Identifier: MIT
 *
 */

#pragma once

#include "shared/source/utilities/const_stringref.h"

#include <cstdint>
#include <optional>
#include <string>
#include <vector>

class OclocArgHelper;
namespace Ocloc {
void printOclocCmdLine(OclocArgHelper &wrapper, const std::vector<std::string> &args);
void printHelp(OclocArgHelper &wrapper);

const std::string &getOclocCurrentLibName();
const std::string &getOclocFormerLibName();

namespace CommandNames {
inline constexpr NEO::ConstStringRef compile = "compile";
inline constexpr NEO::ConstStringRef link = "link";
inline constexpr NEO::ConstStringRef disassemble = "disasm";
inline constexpr NEO::ConstStringRef assemble = "asm";
inline constexpr NEO::ConstStringRef multi = "multi";
inline constexpr NEO::ConstStringRef validate = "validate";
inline constexpr NEO::ConstStringRef query = "query";
inline constexpr NEO::ConstStringRef ids = "ids";
inline constexpr NEO::ConstStringRef concat = "concat";
} // namespace CommandNames
namespace Commands {
int compile(OclocArgHelper *argHelper, const std::vector<std::string> &args);
int link(OclocArgHelper *argHelper, const std::vector<std::string> &args);
int disassemble(OclocArgHelper *argHelper, const std::vector<std::string> &args);
int assemble(OclocArgHelper *argHelper, const std::vector<std::string> &args);
int multi(OclocArgHelper *argHelper, const std::vector<std::string> &args);
int validate(OclocArgHelper *argHelper, const std::vector<std::string> &args);
int query(OclocArgHelper *argHelper, const std::vector<std::string> &args);
int ids(OclocArgHelper *argHelper, const std::vector<std::string> &args);
int concat(OclocArgHelper *argHelper, const std::vector<std::string> &args);
std::optional<int> invokeFormerOcloc(const std::string &formerOclocName, unsigned int numArgs, const char *argv[],
                                     const uint32_t numSources, const uint8_t **dataSources, const uint64_t *lenSources, const char **nameSources,
                                     const uint32_t numInputHeaders, const uint8_t **dataInputHeaders, const uint64_t *lenInputHeaders, const char **nameInputHeaders,
                                     uint32_t *numOutputs, uint8_t ***dataOutputs, uint64_t **lenOutputs, char ***nameOutputs);
std::optional<int> invokeFormerOclocWithHelper(OclocArgHelper *argHelper,
                                               const std::vector<const char *> &argvPtrs,
                                               uint32_t *numOutputs,
                                               uint8_t ***dataOutputs,
                                               uint64_t **lenOutputs,
                                               char ***nameOutputs);
std::optional<int> formerOclocFree(const std::string &formerOclocName, uint32_t *numOutputs, uint8_t ***dataOutputs, uint64_t **lenOutputs, char ***nameOutputs);
} // namespace Commands
} // namespace Ocloc