Hi all,

Some time ago i started working on cmake for pocl (mostly to learn
cmake..), now it's in a semi-working state (most notable missing things
are external testsuites in examples/, and related tests). You can find
it on github:

https://github.com/franz/pocl/tree/cmake

The Good:
  - libOpenCL is (nearly) for free - It's possible to link >1 .so
    libraries from the same .o files, assuming no recompilation is
    needed b/c of #defines
  - build is slightly faster (30 vs 60 seconds on my 8core amd)
  - running cmake itself is somewhat faster than `configure` (4 seconds
    1st run, 0.5 seconds with warm cache, vs 20 seconds of configure)
  - tests can be run in parallel; on my machine, all of kernel +
    regression + runtime + workgroup run in ~3 minutes
  - it's possible to submit tests to a cmake dashboard (webserver
    software), track per-test history conveniently & various other stuff
  - cross-compilation should be possible (build != host), havent worked
    on it though
  - should be more portable (in theory :), but this needs looking into;
    currently pretty much only x86_64+linux is what i worked with. i
    guess these are possible: 
      armv7+linux and bsd+x86 (probably just small fixes needed); 
      macosx+x86 (probably somewhat more work);
      windows+x86 = LOTS of work; only if someone steps up to do it ..
  - cmake syntax is easy; relatively nice (and up2date) documentation;
    much more debuggable

The Bad:
  - lots of gnu-isms are missing in cmake (for example "triplets"
    concept doesnt exist)
  - no convenient way to handle non-C/C++ source files, or change 
    the default compiler temporarily
     - this could be *probably* simplified by making clang the default
       (and mandatory) compiler
  - overall just seems much less flexible and less powerful than 
    i expected :\

So now that i'm a cmake expert ;) the question is, are the
upsides minus downsides worth pursuing this further ? Opinions/questions
welcome...

Regards,
-- mb

------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
pocl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pocl-devel

Reply via email to