Apollo
11.0
自动驾驶开放平台
gemm.h
浏览该文件的文档.
1
/******************************************************************************
2
* Copyright 2018 The Apollo Authors. All Rights Reserved.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*****************************************************************************/
16
17
#pragma once
18
19
#include <cblas.h>
20
21
#include "
modules/perception/common/base/blob.h
"
22
#include "
modules/perception/common/base/image.h
"
23
24
namespace
apollo
{
25
namespace
perception {
26
namespace
inference {
27
class
GPUL2Norm
{
28
public
:
29
void
L2Norm
(
base::Blob<float>
*input_data);
30
31
private
:
32
base::Blob<float>
scale_;
33
base::Blob<float>
ones_;
34
base::Blob<float>
square_;
35
};
36
37
void
GPUGemmFloat
(
const
CBLAS_TRANSPOSE TransA,
const
CBLAS_TRANSPOSE TransB,
38
const
int
M,
const
int
N,
const
int
K,
const
float
alpha,
39
const
float
*A,
const
float
*B,
const
float
beta,
float
*C);
40
void
GPUMultiFloat
(
const
int
n,
const
float
*a,
const
float
*b,
float
*result);
41
void
GPUMSetFloat
(
const
int
n,
const
float
alpha,
float
*result);
42
43
}
// namespace inference
44
}
// namespace perception
45
}
// namespace apollo
blob.h
apollo::perception::base::Blob
A wrapper around SyncedMemory holders serving as the basic computational unit for images,...
Definition
blob.h:88
apollo::perception::inference::GPUL2Norm
Definition
gemm.h:27
apollo::perception::inference::GPUL2Norm::L2Norm
void L2Norm(base::Blob< float > *input_data)
image.h
apollo::perception::inference::GPUMSetFloat
void GPUMSetFloat(const int n, const float alpha, float *result)
apollo::perception::inference::GPUMultiFloat
void GPUMultiFloat(const int n, const float *a, const float *b, float *result)
apollo::perception::inference::GPUGemmFloat
void GPUGemmFloat(const CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE TransB, const int M, const int N, const int K, const float alpha, const float *A, const float *B, const float beta, float *C)
apollo
class register implement
Definition
arena_queue.h:37
modules
perception
common
inference
utils
gemm.h