Open ct-clmsn opened 7 years ago
Question about the dot product operation . Should operations like dot product be represented as a combination of DAG operations? Should operations like dot product be "special nodes" with custom or C++ optimized logic?
In the first step supporting 0, 1, and 2 dimensional data will be a good starting point to get the whole infrastructure in place.
@hkaiser @stevenrbrandt I've started implementing some algorithms in Python (matrix factorizations) in the unit testing directory. This should help demonstrate some end-user challenges that we'll have to sort out and help guide the front/back end implementations. Hopefully the examples clarify the use case(s) a bit.
exploratory data analysis enabling primitives:
log
(#365)floor
(#365)ceil
(#365)abs
(#365)We have started to add 3D data structure support to some of the primitives (see #665).
Execution primitives
Data Primitives
Operation Primitives
map
(#307),parallel_map
(#371)filter
(#308)fold
(#309)scan
join_update
set
,swap
, ...)A[ A.indices() % 2 == 0 ] = 1.0
I/O Primitives
Control Structure Primitives
==
,!=
,<
,>
,<=
,>=
) (@hkaiser, see #49)&&
,||
) (@hkaiser, see #49)!
,-
) (@hkaiser, see #52)if(cond, true_case, false_case)
(@aserio, see #74)while(cond, body)
repeat evaluatingbody
untilcond
becomes false (@hkaiser, see #49)block(...)
: sequentially evaluate all given arguments (@hkaiser, see #54)parallel_block(...)
: concurrently evaluate all given arguments (@hkaiser, see #54)