- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This article- http://threadingbuildingblocks.org/wiki/index.php?title=Using_TBB#Is_there_a_version_of_TBB_that_provides_statically_linked_libraries.3F -although it refers to Intel Threading Building Blocks, explains the reasons for why we don't offer a Cilk Plus static runtime and the problems associated with multiple static instances of threading runtimes. I thought I had linked this as part of the knowledge base article I linked to earlier, but it looks like I need to update the article.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, I am making an executable. Nobody can link to this executable. It will run on well-defined input and produce well-defined output. It is academic software and I want to distribute a static version with no dependencies (like most other software in bioinformatics, see bowtie, usearch, etc). Are you saying this is impossible with Cilk because "other people might use multi-threaded software?"
I'm sorry, but I need help understanding how this is different from any poor use cases today. If a user runs a copy of bowtie2 with the default threads (all threads on the system, static pthreads), and pipes output as it's produced to a multithreaded SNP calling library (openMP) and simultaneously decides to run BWA to fact-check the DNA alignments, he will experience performance degradation and no tool in the world (short of the operating system's smart scheduling) can fix user idiocy. I know people like this and I've seen performance suffer. If I tell them to run each of the pieces with total cores / 3, lo and behold, things speed up nearly 30%.
Please reconsider. The user should manage the number of threads each component is allowed. This is "terminal 101" when new informatics people are introduced to running HPC software.
4/5 times (out of 5 attempts), people have failed to install libraries correctly and/or the system admin failed to get them installed correctly or on time. Users want a binary, not a bunch of files they have to tow along together or add to PATH etc -- and they can't deal with it. What happened to simplicity? I just want to make an executable, not be mired in dependency hell.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page