Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Execution primitives, Data primitives and operations #2

Open
33 of 57 tasks
ct-clmsn opened this issue Aug 27, 2017 · 5 comments
Open
33 of 57 tasks

Execution primitives, Data primitives and operations #2

ct-clmsn opened this issue Aug 27, 2017 · 5 comments

Comments

@ct-clmsn
Copy link
Contributor

ct-clmsn commented Aug 27, 2017

Execution primitives

  • Provide a Phylanx 'context' in users create variables. This should make execution easier to manage for end users.
  • Determine if contexts should be managed without user interaction (default behavior)
    • Create a "stack-machine" for creating contexts and manipulating contexts
    • Users push/pop contexts in a fashion similar to OpenGL or determine if contexts can be exposed to users without stack-machine interfaces
      • Users create contexts and tell phylanx to execute them.

Data Primitives

  • Scalar
    • bool
    • int
    • double
    • float
    • complex
  • N-dimensional arrays (bool, int, double, float, complex)
  • N-dimensional array initialized by 0, 1, or a random value (Gaussian random should be fine)
  • N-dimensional array layout by row and column
  • N-dimensional array layout by space filling curves (Peano, z-order, Moore, Hilbert).
  • N-dimensional array storage using 'resilient' (NoSQL/cloud) data structures
  • Sparse N-dimensional array

Operation Primitives

I/O Primitives

Control Structure Primitives

@ct-clmsn
Copy link
Contributor Author

ct-clmsn commented Aug 27, 2017

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?

@hkaiser hkaiser added this to the 0.0.1 milestone Aug 27, 2017
@hkaiser
Copy link
Member

hkaiser commented Aug 27, 2017

In the first step supporting 0, 1, and 2 dimensional data will be a good starting point to get the whole infrastructure in place.

@ct-clmsn
Copy link
Contributor Author

ct-clmsn commented Sep 1, 2017

@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.

@ct-clmsn ct-clmsn changed the title Data primitives and operations Execution primitives, Data primitives and operations Sep 2, 2017
@hkaiser hkaiser added this to To Do in Primitives Jan 21, 2018
@hkaiser hkaiser moved this from To Do to In progress in Primitives Jan 21, 2018
@ct-clmsn
Copy link
Contributor Author

ct-clmsn commented Mar 8, 2018

exploratory data analysis enabling primitives:

@hkaiser
Copy link
Member

hkaiser commented Dec 26, 2018

We have started to add 3D data structure support to some of the primitives (see #665).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Primitives
  
In progress
Development

No branches or pull requests

2 participants