[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4688: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4690: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4691: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4692: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
Parallella Community • View topic - Ruby on Epiphany

Ruby on Epiphany

Forum for anything not suitable for the other forums.

Ruby on Epiphany

Postby olivererxleben » Mon Jan 28, 2013 3:11 pm

Hey all,

thanks again to 9600 and the other staff on the parallella-project. Great work so far what I have seen.

In case there is interest in having ruby to do multi- and many-core programming on a parallella board, this topic is right for ideas, thoughts and (technical) design questions.

I will update this post here with upcoming ideas, questions, ...

First some initial specifications/ideas
* The ruby implementation should offer the same features as the c/c++ implementation.
* should be possible to test via simulator

The Project should offer:
* a ruby gem (the product) as a wrapper for the epiphany sdk (cause rubygems are C Extensions for Ruby in many cases)
* a cli based project-tool. Like the way RubyOnRails or RubyMotion offer, so you can use an editor+terminal or eclipse/ide and use these build tools. Free for decision.

Questions so far:
* As I understand the Epiphany Architecture, we do not need to build ruby on top of Epiphany?! Is that right? So a comprehensive ruby lib which uses the c lib should do the trick?

Use Cases:
* The first use case that comes in mind is having easy access to epiphany with a ruby framework like sinatra or rails.

Thanks for reading,

Oli
User avatar
olivererxleben
 
Posts: 6
Joined: Sun Jan 27, 2013 9:45 am
Location: Germany

Re: Ruby on Epiphany

Postby undecided » Wed Feb 06, 2013 12:40 pm

Since nobody else has commented, I would like to register my interest in this topic. I've been a ruby developer for 6-7 years, but I've yet to write a C-wrapper, so not sure I'd be much help there - though if you have started a project, I will more than happily test it and tinker.

Given the host is simply an arm device that can run Ubuntu, ruby will already be available (both as binaries, and probably via something like RVM) and it will run a sinatra / rails app without breaking a sweat. The epiphany sdk gem will be the interesting part - something that mimics the standard Thread library would be pretty amazing. Not sure whether that would be feasible, or whether the memory available to each 'daughter' CPU would limit what Ruby would be able to do.

Another possibility is mruby - an MRB gem may solve some of the problems above.

Need to do more research, but yeah - full ruby support would be pretty epic!
User avatar
undecided
 
Posts: 6
Joined: Mon Dec 17, 2012 3:25 am

Re: Ruby on Epiphany

Postby olivererxleben » Fri Feb 08, 2013 7:05 am

User avatar
olivererxleben
 
Posts: 6
Joined: Sun Jan 27, 2013 9:45 am
Location: Germany

Re: Ruby on Epiphany

Postby undecided » Fri Jun 07, 2013 11:47 am

Have just seen this: https://github.com/mattn/mruby-thread

Haven't got much time to tinker with it or see if it works, but if it works then it could be an excellent starting point for an epiphany version. This post is more for my future self's own benefit than anything, but if anyone wants to give this a go please let me know!
User avatar
undecided
 
Posts: 6
Joined: Mon Dec 17, 2012 3:25 am

Re: Ruby on Epiphany

Postby vidarh » Mon Nov 18, 2013 12:49 pm

Ruby on the ARM CPU will be fairly trivial. Ruby on the Epiphany will be "interesting" to say the least. The best bet for the latter for now would be a tiny specialized bytecode VM and adapting the parsing and bytecode compiler for MRI (Matz Ruby implementation - the "standard") to do more of the work. Maybe expanding to JIT'ing subsets.

There are both some big challenges and opportunities: On one hand, executing Ruby is conceptually very simple: Pretty much everything is a method call (and optimizing away the method calls is hard). On the downside, pretty much everything is a method call. This means that even simple things like an addition potentially consists of dozens of instructions. Ruby also wastes lot of memory on meta-data about the objects and classes.

I'm working on a Ruby compiler, and would love to be able to get it to the point were generating code to run straight on Epiphany cores was realistic, but for now at least, the class hierarchy itself would exhaust the memory of a Epiphany core and force lots of access to off-core memory.

It might be better to provide Ruby on the host and focus on something similar to Ruby Inline to allow you to write Epiphany code in Ruby. E.g. start with a module to allow you to inline Epiphany assembly, and then layer convenience methods to built higher level code for it as a way to accelerate specific functionality.
vidarh
 
Posts: 23
Joined: Mon Dec 17, 2012 3:25 am

Re: Ruby on Epiphany

Postby xoru » Mon Oct 19, 2015 8:24 pm

interesting

thread in basic virtual machine i c ruby is still for one processor.
xoru
 
Posts: 4
Joined: Mon Oct 19, 2015 7:47 pm


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 5 guests

cron