Projects I may be willing to sponsor

  • From: Joe Ellsworth <joexdobs@xxxxxxxxx>
  • To: luajit@xxxxxxxxxxxxx, "joee@xxxxxxxxxxxxxxxxx" <joee@xxxxxxxxxxxxxxxxx>
  • Date: Wed, 10 Dec 2014 09:33:18 -0800

I may be willing to sponsor the following projects depending on cost. I also have some proprietary work that would require expert ability to convert Lua tables into optimized memory structures in C for a ML (machine learning) project I am working on.


 * Auto trigger the GC before panic exit with out of memory.
     o I do this manually and it keeps our long running analyzers from
       aborting but it seems like this could be inserted into the
       existing allocator right before it panics and exits.

       function gc_check_collect_if_needed(max_mem_meg)
          if max_mem = nil
            max_mem = 1200
          end
          local meg_used = collectgarbage("count")  / 1024
          if meg_used > 1500 then
             local beg_time = curr_sec()
             collectgarbage()
             elap(beg_time, "collected garbage before=" ..
       math.round(meg_used,2) .. "mb" .. " after=" ..
       math.round(collectgarbage("count") / 1024,2) .. "mb elap=")
          end
       end

 * Implement operator to initialize high density array of type with
   fact access similar to C eg: InitArray(Double, 30000) - I am willing
   to accept non graceful abort if we exceed the space.    I am looking
   for the following for loop to be able to run extremely fast with
   simple pointer arithmetic as close to native c speed as we can get
   for simple array of same type.  Or failing that have the memory in a
   structure so that once I populated it using Lua code that I could
   call a C function that could iterate across it with simple pointer
   increment.

       local maxele = 900000
       local arr = InitArray(Double, maxele)
       local sum = 0.0
       for ndx = 1, maxele do
           sum = arr[ndx]
       end

       I saw a sample of this kind of init in
       http://math.nist.gov/scimark2/ array_init() but it didn't seem
       to pre-allocate the desired number of elements so at the very
       least it is paying extra overhead to grow the array.  I know
       ahead of time how many elements we will need so I don't want to
       pay the realloc overhead.

 * Implement enough of the V3 GC to allow use of full 64 bit Memory space
 * Implement a +=  and -= operator.  I would almost use them for
   integer increments similar to ++ and -- in C.
 * produce make script that includes pre-integrated with sockets for at
   least the socket client to make HTTP Get calls.
 * Produce a method to compile a Lua script with all dependencies after
   JIT reduction into single EXE file that can run across all common
   windows boxes.  Willing to take overhead of multiple copies
   optimized for different CPU inside the Exe.

Thanks Joe Ellsworth
CTO & Chief Algorithms scientist  at Bayes Analytic LLC
joee@xxxxxxxxxxxxxxxxx
206-601-2985

Other related posts: