Giter Club home page Giter Club logo

ctuning / ck-crowdnode Goto Github PK

View Code? Open in Web Editor NEW
28.0 5.0 3.0 2.78 MB

Standalone, thin and portable server to let users participate in experiment crowdsourcing using Windows devices via Collective Knowledge Framework:

Home Page: http://cKnowledge.org

License: Other

C 87.29% CMake 1.30% Shell 0.16% Batchfile 1.01% C++ 0.30% Python 9.94%
collaborative-optimization collective-knowledge workload-automation windows server crowdsourcing-experiments json-api adb-like-server

ck-crowdnode's Introduction

Linux/MacOS: Build Status Windows: Windows Build status

Collective Knowledge Node for experiment crowdsourcing (on Windows devices)

Standalone, thin and portable server to let users participate in experiment crowdsourcing via Collective Knowledge. It unifies remote execution on Windows similar to Android ADB (experiment crowdsourcing via Linux and Android platforms is already supported by CK). It can also be used to create farms of machines for collaborative benchmarking and tuning (crowd-benchmarking).

Note that both server and client should run Windows.

Project homepage:

License

  • Permissive 3-clause BSD license. (See LICENSE.txt for more details).

Status

Relatively stable - testing phase

Usage: server side

On Windows:

  1. Download the installer from Appveyor

  2. Install and start "CK crowd-node server".

  3. Write down "[INFO for CK client]" - you will require this info to configure this target machine on a client.

Alternatively, you can build it manually (you'll need CMake and Visual Studio):

mkdir build
cd build
cmake ..
cmake --build . --config Release --target PACKAGE

Now, you should be able to run build/Release/ck-crowdnode-server.exe.

Usage: client side

Install CK framework. If you have PIP, you can install it simply as following:

 $ pip install ck

Pull ck-autotuning repository (including dependencies):

 $ ck pull repo:ck-autotuning

Prepare local file with a secret key (see [INFO for CK client]), for example in C:\secret-key.txt

Register target machine with ck-crowdnode-server via (substitute ''my-remote-target'' with any other user-friendly name)

 $ ck add machine:my-remote-target

Select 4) CK: remote Windows machine accessed via CK crowd node. Then 4) windows-64

Then enter hostname, port, path to public key (C:\secret-key.txt), and full path to files on a target machine (all info is available via [INFO for CK client] - we later plan to automate this process).

Now you can check that you machine is connected and online via

 $ ck show machine

or

 $ ck browse machine

Now you should be able to compile and run sample program using this target. You need to have Microsoft C compilers and Microsoft SDK installed (there is a free edition available). You can also download and install LLVM for Windows, but remember that it also requires Visual C compiler and Microsoft SDK.

Try to compile susan benchmark (during first compilation, CK will attempt to automatically detect installed compilers and SDK while asking you extra questions, if needed):

 $ ck compile program:cbench-automotive-susan --speed --target=my-remote-target

Finally, you can try to run it:

 $ ck run program:cbench-automotive-susan --target=my-remote-target

If everything is configured correctly, this code will be executed several times on a required target and execution time will be reported!

If you have any problems, questions or comments, do not hesitate to get in touch with the CK community via [our public mailing list](https://groups.google.com/forum/#!forum/collective-knowledge open CK mailing list)!

Further details

Public discussions

logo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.