Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
apex
Commits
06a83ce7
Commit
06a83ce7
authored
May 22, 2020
by
Kexin Yu
Browse files
use pointer
parent
3a727a01
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
3 additions
and
3 deletions
+3
-3
csrc/multi_tensor_lamb.cu
csrc/multi_tensor_lamb.cu
+2
-2
csrc/multi_tensor_lamb_stage_1.cu
csrc/multi_tensor_lamb_stage_1.cu
+1
-1
No files found.
csrc/multi_tensor_lamb.cu
View file @
06a83ce7
...
@@ -52,7 +52,7 @@ struct LAMBStage1Functor
...
@@ -52,7 +52,7 @@ struct LAMBStage1Functor
const
float
epsilon
,
const
float
epsilon
,
adamMode_t
mode
,
adamMode_t
mode
,
const
float
decay
,
const
float
decay
,
const
float
global_grad_norm
,
const
float
*
global_grad_norm
,
const
float
max_global_grad_norm
)
const
float
max_global_grad_norm
)
{
{
// I'd like this kernel to propagate infs/nans.
// I'd like this kernel to propagate infs/nans.
...
@@ -63,7 +63,7 @@ struct LAMBStage1Functor
...
@@ -63,7 +63,7 @@ struct LAMBStage1Functor
int
chunk_idx
=
tl
.
block_to_chunk
[
blockIdx
.
x
];
int
chunk_idx
=
tl
.
block_to_chunk
[
blockIdx
.
x
];
int
n
=
tl
.
sizes
[
tensor_loc
];
int
n
=
tl
.
sizes
[
tensor_loc
];
float
clipped_global_grad_norm
=
global_grad_norm
>
max_global_grad_norm
?
global_grad_norm
/
max_global_grad_norm
:
1.0
f
;
float
clipped_global_grad_norm
=
(
*
global_grad_norm
)
>
max_global_grad_norm
?
(
*
global_grad_norm
)
/
max_global_grad_norm
:
1.0
f
;
T
*
g
=
(
T
*
)
tl
.
addresses
[
0
][
tensor_loc
];
T
*
g
=
(
T
*
)
tl
.
addresses
[
0
][
tensor_loc
];
g
+=
chunk_idx
*
chunk_size
;
g
+=
chunk_idx
*
chunk_size
;
...
...
csrc/multi_tensor_lamb_stage_1.cu
View file @
06a83ce7
...
@@ -124,7 +124,7 @@ void multi_tensor_lamb_stage1_cuda(
...
@@ -124,7 +124,7 @@ void multi_tensor_lamb_stage1_cuda(
using
namespace
at
;
using
namespace
at
;
auto
g_grad_norm
=
global_grad_norm
.
data
<
float
>
();
auto
g_grad_norm
=
global_grad_norm
.
data
<
float
>
();
float
clipped_global_grad_norm
=
g_grad_norm
>
max_global_grad_norm
?
g_grad_norm
/
max_global_grad_norm
:
1.0
f
;
float
clipped_global_grad_norm
=
*
(
g_grad_norm
)
>
max_global_grad_norm
?
*
(
g_grad_norm
)
/
max_global_grad_norm
:
1.0
f
;
float
next_step
=
float
(
step
+
1
);
float
next_step
=
float
(
step
+
1
);
float
beta1_correction
=
1.0
f
-
std
::
pow
(
beta1
,
next_step
);
float
beta1_correction
=
1.0
f
-
std
::
pow
(
beta1
,
next_step
);
float
beta2_correction
=
1.0
f
-
std
::
pow
(
beta2
,
next_step
);
float
beta2_correction
=
1.0
f
-
std
::
pow
(
beta2
,
next_step
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment