PULSAR  2.0.0
Parallel Ultra-Light Systolic Array Runtime
 All Data Structures Files Functions Typedefs Enumerations Macros Groups
svg_trace.c File Reference

SVG tracing. More...

#include "svg_trace.h"

Go to the source code of this file.

Functions

double get_time_of_day ()
 Returns current time. More...
 
void svg_trace_init (int num_cores, int num_devices)
 Initializes tracing. More...
 
void svg_trace_start_cpu (int thread_rank)
 Starts tracing of a CPU event. More...
 
void svg_trace_stop_cpu (int thread_rank, int color)
 Stops tracing a CPU event. More...
 
void svg_trace_start_gpu (cudaStream_t stream)
 Starts tracing a GPU event. More...
 
void svg_trace_stop_gpu (cudaStream_t stream, int color)
 Stops tracing a GPU event. More...
 
void svg_trace_start_dma (cudaStream_t stream)
 Starts tracing a DMA event. More...
 
void svg_trace_stop_dma (cudaStream_t stream, int color)
 Stops tracing a DMA event. More...
 
void svg_trace_memory_host (long delta)
 Registers host memory usage. The operation has to be atomic, because it can be invoked by a callback. Because there are two variables to keep track of, the level and the maximum, doing it with atomics is not worth it. Using a spinlock instead. More...
 
void svg_trace_memory_device (long delta)
 Register device memory usage. More...
 
void svg_trace_finish (int num_cores, int num_devices)
 Finishes tracing. Collects traces from all nodes. Writes the combined trace to an SVG file.
 

Detailed Description

SVG tracing.

Author
Jakub Kurzak

PULSAR Runtime http://icl.utk.edu/pulsar/ Copyright (C) 2012-2015 University of Tennessee.

Definition in file svg_trace.c.

Function Documentation

double get_time_of_day ( )

Returns current time.

Returns
Current Unix time in seconds as a double-precision number.

Definition at line 66 of file svg_trace.c.

void svg_trace_init ( int  num_cores,
int  num_devices 
)

Initializes tracing.

Parameters
num_cores– The number of cores.
num_devices– The number of devices.

Definition at line 81 of file svg_trace.c.

void svg_trace_memory_device ( long  delta)

Register device memory usage.

Parameters
delta– The change of host memory usage in bytes.

Definition at line 243 of file svg_trace.c.

void svg_trace_memory_host ( long  delta)

Registers host memory usage. The operation has to be atomic, because it can be invoked by a callback. Because there are two variables to keep track of, the level and the maximum, doing it with atomics is not worth it. Using a spinlock instead.

Parameters
delta– The change of host memory usage in bytes.

Definition at line 228 of file svg_trace.c.

void svg_trace_start_cpu ( int  thread_rank)

Starts tracing of a CPU event.

Parameters
thread_rank– The rank of the thread.

Definition at line 125 of file svg_trace.c.

void svg_trace_start_dma ( cudaStream_t  stream)

Starts tracing a DMA event.

Parameters
stream– The stream of the event.

Definition at line 189 of file svg_trace.c.

void svg_trace_start_gpu ( cudaStream_t  stream)

Starts tracing a GPU event.

Parameters
stream– The stream of the event.

Definition at line 153 of file svg_trace.c.

void svg_trace_stop_cpu ( int  thread_rank,
int  color 
)

Stops tracing a CPU event.

Parameters
thread_rank– The rank of the thread.
color– The RGB color of the SVG box.

Definition at line 138 of file svg_trace.c.

void svg_trace_stop_dma ( cudaStream_t  stream,
int  color 
)

Stops tracing a DMA event.

Parameters
stream– The stream of the event.
color– The RGB color of the SVG box.

Definition at line 206 of file svg_trace.c.

void svg_trace_stop_gpu ( cudaStream_t  stream,
int  color 
)

Stops tracing a GPU event.

Parameters
stream– The stream of the event.
color– The RGB color of the SVG box.

Definition at line 170 of file svg_trace.c.