Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ADAS
HyperLoom
Commits
c1055fc6
Commit
c1055fc6
authored
Aug 01, 2016
by
Stanislav Bohm
Browse files
RF: Basic tasks moved from worker to libloom
parent
f30ccb59
Changes
16
Hide whitespace changes
Inline
Side-by-side
src/libloom/CMakeLists.txt
View file @
c1055fc6
...
...
@@ -8,6 +8,16 @@ add_library(libloom
data/array.cpp
data/index.h
data/index.cpp
tasks/basetasks.cpp
tasks/basetasks.h
tasks/rawdatatasks.cpp
tasks/rawdatatasks.h
tasks/arraytasks.cpp
tasks/arraytasks.h
tasks/runtask.cpp
tasks/runtask.h
tasks/loomrun.pb.cc
tasks/loomrun.pb.h
connection.cpp
connection.h
worker.cpp
...
...
src/
worker
/arraytasks.cpp
→
src/
libloom/tasks
/arraytasks.cpp
View file @
c1055fc6
File moved
src/
worker
/arraytasks.h
→
src/
libloom/tasks
/arraytasks.h
View file @
c1055fc6
#ifndef LOOM_
WORKER
_ARRAYTASKS_H
#define LOOM_
WORKER
_ARRAYTASKS_H
#ifndef
LIB
LOOM_
TASKS
_ARRAYTASKS_H
#define
LIB
LOOM_
TASKS
_ARRAYTASKS_H
#include "libloom/taskinstance.h"
...
...
@@ -10,4 +10,4 @@ public:
void
start
(
loom
::
DataVector
&
inputs
);
};
#endif // LOOM_
WORKER
_ARRAYTASKS_H
#endif //
LIB
LOOM_
TASKS
_ARRAYTASKS_H
src/
worker
/bas
ic
tasks.cpp
→
src/
libloom/tasks
/bas
e
tasks.cpp
View file @
c1055fc6
#include "bas
ic
tasks.h"
#include "bas
e
tasks.h"
//#include "libloom/log.h"
...
...
src/
worker
/bas
ic
tasks.h
→
src/
libloom/tasks
/bas
e
tasks.h
View file @
c1055fc6
#ifndef LOOM_
WORKER
_BASICTASKS_H
#define LOOM_
WORKER
_BASICTASKS_H
#ifndef
LIB
LOOM_
TASKS
_BASICTASKS_H
#define
LIB
LOOM_
TASKS
_BASICTASKS_H
#include "libloom/taskinstance.h"
...
...
@@ -18,4 +18,4 @@ public:
void
start
(
loom
::
DataVector
&
inputs
);
};
#endif // LOOM_
WORKER
_BASICTASKS_H
#endif //
LIB
LOOM_
TASKS
_BASICTASKS_H
src/
worker
/loomrun.pb.cc
→
src/
libloom/tasks
/loomrun.pb.cc
View file @
c1055fc6
File moved
src/
worker
/loomrun.pb.h
→
src/
libloom/tasks
/loomrun.pb.h
View file @
c1055fc6
File moved
src/
worker
/rawdatatasks.cpp
→
src/
libloom/tasks
/rawdatatasks.cpp
View file @
c1055fc6
File moved
src/
worker
/rawdatatasks.h
→
src/
libloom/tasks
/rawdatatasks.h
View file @
c1055fc6
#ifndef LOOM_
WORKER
_RAWDATATASKS_H
#define LOOM_
WORKER
_RAWDATATASKS_H
#ifndef
LIB
LOOM_
TASKS
_RAWDATATASKS_H
#define
LIB
LOOM_
TASKS
_RAWDATATASKS_H
#include "libloom/taskinstance.h"
...
...
@@ -35,4 +35,4 @@ public:
};
#endif // LOOM_
WORKER
_RAWDATATASKS_H
#endif //
LIB
LOOM_
TASKS
_RAWDATATASKS_H
src/
worker
/runtask.cpp
→
src/
libloom/tasks
/runtask.cpp
View file @
c1055fc6
File moved
src/
worker
/runtask.h
→
src/
libloom/tasks
/runtask.h
View file @
c1055fc6
#ifndef LOOM_
WORKER
_RUNTASK_H
#define LOOM_
WORKER
_RUNTASK_H
#ifndef
LIB
LOOM_
TASKS
_RUNTASK_H
#define
LIB
LOOM_
TASKS
_RUNTASK_H
#include "libloom/taskinstance.h"
...
...
@@ -29,4 +29,4 @@ private:
};
#endif // LOOM_
WORKER
_RUNTASK_H
#endif //
LIB
LOOM_
TASKS
_RUNTASK_H
src/libloom/worker.cpp
View file @
c1055fc6
...
...
@@ -3,10 +3,16 @@
#include "utils.h"
#include "log.h"
#include "types.h"
#include "data/rawdata.h"
#include "data/array.h"
#include "data/index.h"
#include "tasks/basetasks.h"
#include "tasks/rawdatatasks.h"
#include "tasks/arraytasks.h"
#include "tasks/runtask.h"
#include <stdlib.h>
#include <sstream>
#include <unistd.h>
...
...
@@ -78,6 +84,25 @@ Worker::Worker(uv_loop_t *loop,
resource_cpus
=
1
;
}
void
Worker
::
register_basic_tasks
()
{
// Base
add_task_factory
<
GetTask
>
(
"base/get"
);
add_task_factory
<
SliceTask
>
(
"base/slice"
);
// RawData
add_task_factory
<
ConstTask
>
(
"data/const"
);
add_task_factory
<
MergeTask
>
(
"data/merge"
);
add_task_factory
<
OpenTask
>
(
"data/open"
);
add_task_factory
<
SplitTask
>
(
"data/split"
);
// Arrays
add_task_factory
<
ArrayMakeTask
>
(
"array/make"
);
// Run
add_task_factory
<
RunTask
>
(
"run/run"
);
}
void
Worker
::
_on_getaddrinfo
(
uv_getaddrinfo_t
*
handle
,
int
status
,
struct
addrinfo
*
response
)
{
...
...
src/libloom/worker.h
View file @
c1055fc6
...
...
@@ -50,6 +50,8 @@ public:
uv_loop_t
*
get_loop
()
{
return
loop
;
}
void
register_basic_tasks
();
void
new_task
(
std
::
unique_ptr
<
Task
>
task
);
void
send_data
(
const
std
::
string
&
address
,
Id
id
,
std
::
shared_ptr
<
Data
>
&
data
,
bool
with_size
);
...
...
src/proto/rebuild.sh
View file @
c1055fc6
...
...
@@ -9,9 +9,7 @@ CLIENT_DIR=${BASE_DIR}/../client
# LIBLOOM
protoc loomcomm.proto
--cpp_out
=
${
LIBLOOM_DIR
}
protoc loomplan.proto
--cpp_out
=
${
LIBLOOM_DIR
}
# WORKER
protoc loomrun.proto
--cpp_out
=
${
WORKER_DIR
}
protoc loomrun.proto
--cpp_out
=
${
LIBLOOM_DIR
}
/tasks
# CLIENT (Python)
protoc loomcomm.proto
--python_out
=
${
CLIENT_DIR
}
...
...
src/worker/CMakeLists.txt
View file @
c1055fc6
set
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
-std=c++11 -g -Wall"
)
add_executable
(
loom-worker
loomrun.pb.cc
loomrun.pb.h
runtask.cpp
runtask.h
basictasks.cpp
basictasks.h
rawdatatasks.cpp
rawdatatasks.h
arraytasks.cpp
arraytasks.h
main.cpp
)
target_include_directories
(
loom-worker PUBLIC
${
PROJECT_SOURCE_DIR
}
)
target_link_libraries
(
loom-worker libloom
${
LIBUV_LIBRARY
}
pthread
)
...
...
src/worker/main.cpp
View file @
c1055fc6
#include "runtask.h"
#include "basictasks.h"
#include "rawdatatasks.h"
#include "arraytasks.h"
#include "libloom/worker.h"
#include "libloom/log.h"
...
...
@@ -111,24 +106,9 @@ int main(int argc, char **argv)
config
.
server_address
,
config
.
port
,
config
.
work_dir
);
worker
.
register_basic_tasks
();
loom
::
llog
->
info
(
"Worker started; listening on port {}"
,
worker
.
get_listen_port
());
// Base
worker
.
add_task_factory
<
GetTask
>
(
"base/get"
);
worker
.
add_task_factory
<
SliceTask
>
(
"base/slice"
);
// RawData
worker
.
add_task_factory
<
ConstTask
>
(
"data/const"
);
worker
.
add_task_factory
<
MergeTask
>
(
"data/merge"
);
worker
.
add_task_factory
<
OpenTask
>
(
"data/open"
);
worker
.
add_task_factory
<
SplitTask
>
(
"data/split"
);
// Arrays
worker
.
add_task_factory
<
ArrayMakeTask
>
(
"array/make"
);
// Run
worker
.
add_task_factory
<
RunTask
>
(
"run/run"
);
worker
.
set_cpus
(
config
.
cpus
);
uv_run
(
&
loop
,
UV_RUN_DEFAULT
);
uv_loop_close
(
&
loop
);
...
...
Write
Preview
Supports
Markdown
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