Vowpal Wabbit
vowpalwabbit
vw_allreduce.h
Go to the documentation of this file.
1
/*
2
Copyright (c) by respective owners including Yahoo!, Microsoft, and
3
individual contributors. All rights reserved. Released under a BSD
4
license as described in the file LICENSE.
5
*/
6
7
#pragma once
8
9
#include "
vw.h
"
10
#include "
allreduce.h
"
11
12
template
<
class
T,
void
(*f)(T&, const T&)>
13
void
all_reduce
(
vw
& all, T* buffer,
const
size_t
n)
14
{
15
switch
(all.
all_reduce_type
)
16
{
17
case
AllReduceType::Socket
:
18
((
AllReduceSockets
*)all.
all_reduce
)->all_reduce<T,
f
>(buffer, n);
19
break
;
20
21
case
AllReduceType::Thread
:
22
((
AllReduceThreads
*)all.
all_reduce
)->all_reduce<T, f>(buffer, n);
23
break
;
24
}
25
}
Thread
Definition:
global_data.h:335
AllReduceThreads
Definition:
allreduce.h:123
Socket
Definition:
global_data.h:334
vw
Definition:
global_data.h:369
vw::all_reduce
AllReduce * all_reduce
Definition:
global_data.h:381
vw::all_reduce_type
AllReduceType all_reduce_type
Definition:
global_data.h:380
vw.h
AllReduceSockets
Definition:
allreduce.h:179
all_reduce
void all_reduce(vw &all, T *buffer, const size_t n)
Definition:
vw_allreduce.h:13
allreduce.h
f
float f
Definition:
cache.cc:40
Generated on Thu Apr 9 2020 14:45:25 for Vowpal Wabbit by
1.8.13