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
tianlh
LightGBM-DCU
Commits
59f10453
Commit
59f10453
authored
Nov 01, 2018
by
Guolin Ke
Committed by
Qiwei Ye
Nov 01, 2018
Browse files
try to fix bug with disable openmp (#1813)
parent
dfe0fae4
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
5 additions
and
6 deletions
+5
-6
include/LightGBM/utils/pipeline_reader.h
include/LightGBM/utils/pipeline_reader.h
+1
-0
src/treelearner/serial_tree_learner.cpp
src/treelearner/serial_tree_learner.cpp
+4
-6
No files found.
include/LightGBM/utils/pipeline_reader.h
View file @
59f10453
...
...
@@ -9,6 +9,7 @@
#include <thread>
#include <memory>
#include <algorithm>
#include <vector>
#include "file_io.h"
namespace
LightGBM
{
...
...
src/treelearner/serial_tree_learner.cpp
View file @
59f10453
...
...
@@ -322,8 +322,7 @@ void SerialTreeLearner::BeforeTrain() {
const
data_size_t
*
indices
=
data_partition_
->
indices
();
data_size_t
begin
=
data_partition_
->
leaf_begin
(
0
);
data_size_t
end
=
begin
+
data_partition_
->
leaf_count
(
0
);
data_size_t
loop_size
=
end
-
begin
;
#pragma omp parallel for schedule(static, 512) if(loop_size >= 1024)
#pragma omp parallel for schedule(static, 512) if(end - begin >= 1024)
for
(
data_size_t
i
=
begin
;
i
<
end
;
++
i
)
{
is_data_in_leaf_
[
indices
[
i
]]
=
1
;
}
...
...
@@ -336,7 +335,7 @@ void SerialTreeLearner::BeforeTrain() {
OMP_LOOP_EX_END
();
}
OMP_THROW_EX
();
#pragma omp parallel for schedule(static, 512) if(
loop_size
>= 1024)
#pragma omp parallel for schedule(static, 512) if(
end - begin
>= 1024)
for
(
data_size_t
i
=
begin
;
i
<
end
;
++
i
)
{
is_data_in_leaf_
[
indices
[
i
]]
=
0
;
}
...
...
@@ -397,13 +396,12 @@ bool SerialTreeLearner::BeforeFindBestSplit(const Tree* tree, int left_leaf, int
char
mark
=
1
;
data_size_t
begin
=
data_partition_
->
leaf_begin
(
left_leaf
);
data_size_t
end
=
begin
+
left_cnt
;
data_size_t
loop_size
=
end
-
begin
;
if
(
left_cnt
>
right_cnt
)
{
begin
=
data_partition_
->
leaf_begin
(
right_leaf
);
end
=
begin
+
right_cnt
;
mark
=
0
;
}
#pragma omp parallel for schedule(static, 512) if(
loop_size
>= 1024)
#pragma omp parallel for schedule(static, 512) if(
end - begin
>= 1024)
for
(
data_size_t
i
=
begin
;
i
<
end
;
++
i
)
{
is_data_in_leaf_
[
indices
[
i
]]
=
1
;
}
...
...
@@ -416,7 +414,7 @@ bool SerialTreeLearner::BeforeFindBestSplit(const Tree* tree, int left_leaf, int
OMP_LOOP_EX_END
();
}
OMP_THROW_EX
();
#pragma omp parallel for schedule(static, 512) if(
loop_size
>= 1024)
#pragma omp parallel for schedule(static, 512) if(
end - begin
>= 1024)
for
(
data_size_t
i
=
begin
;
i
<
end
;
++
i
)
{
is_data_in_leaf_
[
indices
[
i
]]
=
0
;
}
...
...
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