Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
CompilerLogger.h File Reference

Defines an interface used to gather and log compile-time information, stats, etc for use in evaluating internal Halide compilation rules and efficiency. More...

#include <iostream>
#include <map>
#include <memory>
#include <string>
#include <utility>
#include "Expr.h"
#include "Target.h"

Go to the source code of this file.

Classes

class  Halide::Internal::CompilerLogger
 
class  Halide::Internal::JSONCompilerLogger
 JSONCompilerLogger is a basic implementation of the CompilerLogger interface that saves logged data, then logs it all in JSON format in emit_to_stream(). More...
 

Namespaces

namespace  Halide
 This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
 
namespace  Halide::Internal
 

Functions

std::unique_ptr< CompilerLoggerHalide::Internal::set_compiler_logger (std::unique_ptr< CompilerLogger > compiler_logger)
 Set the active CompilerLogger object, replacing any existing one.
 
CompilerLoggerHalide::Internal::get_compiler_logger ()
 Return the currently active CompilerLogger object.
 

Detailed Description

Defines an interface used to gather and log compile-time information, stats, etc for use in evaluating internal Halide compilation rules and efficiency.

The 'standard' implementation simply logs all gathered data to a local file (in JSON form), but the entire implementation can be replaced by custom definitions if you have unusual logging needs.

Definition in file CompilerLogger.h.