Blender
V4.3
intern
cycles
integrator
work_balancer.h
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2011-2022 Blender Foundation
2
*
3
* SPDX-License-Identifier: Apache-2.0 */
4
5
#pragma once
6
7
#include "
util/vector.h
"
8
9
CCL_NAMESPACE_BEGIN
10
11
struct
WorkBalanceInfo
{
12
/* Time spent performing corresponding work. */
13
double
time_spent
= 0;
14
15
/* Average occupancy of the device while performing the work. */
16
float
occupancy
= 1.0f;
17
18
/* Normalized weight, which is ready to be used for work balancing (like calculating fraction of
19
* the big tile which is to be rendered on the device). */
20
double
weight = 1.0;
21
};
22
23
/* Balance work for an initial render integration, before any statistics is known. */
24
void
work_balance_do_initial
(
vector<WorkBalanceInfo>
&work_balance_infos);
25
26
/* Rebalance work after statistics has been accumulated.
27
* Returns true if the balancing did change. */
28
bool
work_balance_do_rebalance
(
vector<WorkBalanceInfo>
&work_balance_infos);
29
30
CCL_NAMESPACE_END
vector
Definition
cycles/util/vector.h:22
vector.h
CCL_NAMESPACE_END
#define CCL_NAMESPACE_END
Definition
device/cuda/compat.h:10
CCL_NAMESPACE_BEGIN
Definition
python.cpp:44
WorkBalanceInfo
Definition
work_balancer.h:11
WorkBalanceInfo::occupancy
float occupancy
Definition
work_balancer.h:16
WorkBalanceInfo::time_spent
double time_spent
Definition
work_balancer.h:13
work_balance_do_rebalance
bool work_balance_do_rebalance(vector< WorkBalanceInfo > &work_balance_infos)
Definition
work_balancer.cpp:45
work_balance_do_initial
void work_balance_do_initial(vector< WorkBalanceInfo > &work_balance_infos)
Definition
work_balancer.cpp:13
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0