www.archive-org-2014.com » ORG » A » AGGREGATE

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".

    Archived pages: 237 . Archive date: 2014-12.

  • Title: The Aggregate
    Descriptive info: .. The Aggregate.. refers to a collection of researchers and the technologies that they use to make the components of a computing system work better together.. Since before our first Linux PC work in the PAPERS project, we have been considering all aspects of Compilers, Hardware Architectures, and Operating Systems (.. KAOS.. ) together, optimizing system performance rather than performance of the individual parts.. The.. only.. aspect of our computer system designs that is set in stone is our name.. Although the aggregate.. org consortium has participants at various institutions, since 1999 it has been based in the.. Department of Electrical and Computer Engineering.. at the.. University of Kentucky.. , in Lexington, KY.. If you're at UK, feel free to join the "KAOS".. listserve.. Pebble Of The Day/Week/Whenever.. November 17-20, 2014.. We will once again have a.. major research exhibit.. at.. SC14.. , in New Orleans, LA.. See us there!.. October 2014.. We've been using CHDK (Canon Hack Development Kit) for many years, but last year created a reference card for it.. It's now on the CHDK Wiki as.. CHDK Lua Reference Card.. , as well as being linked from Aggregate.. Org's.. CHDK for Computational Photography.. page.. There will be much more going up there shortly, largely related to our.. Cameras as Computer Systems.. course.. October 10, 2014.. At 1:30, we invite students who would like to learn more about our research group to join us in 108 Marksbury.. Of course, folks are generally welcome to drop by whenever we're around the lab, but this is an opportunity to get a more coherent overview.. October 3, 2014.. A new.. MAGIC algorithm.. has been added to test for a pair of integer values being within a given tolerance of each other.. September 10, 2014.. Professor Dietz's.. Aunt Madeline is 100 years old.. Following that link will take you to a WWW site celebrating that and her travels, which have taken her to over 100 countries.. Can you figure-out where she was in the photos posted?.. March 13-16, 2014.. Lexington, Kentucky hosted.. IEEE SoutheastCon 2014.. , which was not only an IEEE regional conference with all the activities you'd expect, but also continued the tradition of having a technical program with peer-reviewed papers.. Copyright handling issues delayed the proceedings, but IEEE has everything and online indexes should be complete by mid October.. February 4-5, 2014.. Prof.. Dietz presented two papers and a research exhibit at the SPIE Electronic Imaging conference.. The slides for the talks are:.. Out-of-focus point spread functions.. and.. Frameless, time domain continuous image capture.. January 16, 2014.. Dietz presented.. A Poorly Focused Talk.. Creative Camera Club, Inc.. of Lexington, KY.. November 17-22, 2013.. SC13.. , in Denver, CO.. This is our 20th year as a research exhibit.. October 22, 2013.. We've started putting together materials on using.. CHDK for Computational Photography.. Initially, there's just a CHDK Lua reference card, but we'll be putting a lot more there soon.. September 28, 2013.. Dietz and Paul Eberhart gave a presentation on 2D/3D making for students in the YMCA Black Achievers program (.. PDF slides.. ).. Dietz also created a.. Prosthetic/Robotic Hand Printable As An Assembled Unit Without Supports.. for this presentation.. May 22, 2013.. Dietz and his daughter have donated a birdhouse to.. The Arboretum.. 's Birdhouse Display and Benefit Auction.. Why is this here? Because the birdhouse was 3D printed in our lab.. An.. Instructable.. explains how it was built.. May 5, 2013.. Well, it was bound to happen sometime.. After all, we've always built stuff, and modern tools for 2D and 3D construction are very much a product of the computer engineering revolution.. We now have the start of a.. subsite on making things.. May 2, 2013.. Matthew Sparks has completed his M.. S.. in Electrical Engineering and his thesis,.. A Comprehensive HDL Model of a Line Associative Register Based Architecture.. , is now.. available.. April 8, 2013.. Dietz gave an Abell Endowment distinguished lecture in computer engineering at Colorado State University,.. Cameras as Computational Devices.. April 4-7, 2013.. IEEE SoutheastCon 2013 in Jacksonville, FL.. Lexington will be hosting next year's conference,.. SouthEastCon 2014.. on March 13-16, 2014; Prof.. Dietz is the technical program chair.. March 16, 2013.. Our first publication involving 3D printing:.. Thingiverse.. postings of a printable camera mount for the MakerGear M2.. February 23, 2013.. Our labs in 672 FPAT and 108 Marksbury were open for EDay.. February 20, 2013.. Dietz gave a talk,.. KAOS and the FUJIFILM X10.. for the UK CS department seminar.. February 5, 2013.. Frank Roberts will be presenting a free and open seminar on.. KOAPing With The OpenCL API.. in 108 Marksbury from 4PM to 5PM.. February 4-5, 2013.. Dietz will be presenting.. FUJIFILM X10  ...   a well-utilized space since we moved into Marksbury, so the primary effect is that we no longer have to explain where DVT is.. ;) Secondarily, that's why you no longer see it on our.. sensors page.. April 17, 2012.. Hank Dietz will be presenting a free and open seminar on.. NodeScape: Supercomputer Status at a Glance.. in 108 Marksbury from 3PM to 4PM.. NodeScape is the thing that generates.. these displays.. April 2, 2012.. The University of Kentucky's basketball team defeated Kansas 67:59 for our 8th NCAA national title.. Congratulations to our team and Coach Calipari for demonstrating once again how talent, work, and especially.. teamwork.. make Kentucky better and often best.. Sometimes, people don't see Kentucky, but through this win more people will.. See Blue.. March 21, 2012.. Matthew Sparks will be presenting a free and open seminar on.. Line Associative Register Architecture.. in 108 Marksbury from Noon to 1PM.. March 19, 2012.. Can you use some of our free compute cycles? Yes,.. UKAN.. ! We are making some of the "uncommitted KAOS accessible nodes" freely available to collaborators and worthy projects.. see.. for details.. March 7, 2012.. DeOrbIt.. WWW tool is posted.. We developed this free tool to make the dreaded Fujifilm X10 "white orbs" look more natural.. We plan to release a full C source code version into the public domain as soon as tuning is done and a research paper on the method completed, but this WWW form version is now open for public testing.. February 25, 2012.. Engineers Day Open House.. Various activities will be held and many labs will be open.. Come visit us in.. 672.. F.. Paul Anderson Tower.. , our secondary supercomputer machine room, from 9AM-1PM.. February 23,.. Lex18.. 's Lee Cruise did a segment on us in the Marksbury Building, but due to logistics issues, the Marksbury Building will.. not.. be open February 25.. Tours of Marksbury facilities can be scheduled at other times.. January 26, 2012.. Reprocessing Anaglyph Images.. , paper number 8290-27, at the.. January 25, 2012.. in 108 Marksbury from 11AM to noon.. November 28, 2011.. KOAP: Kentucky OpenCL Application Preprocessor.. is now available as an "alpha quality" full source release.. November 12-17, 2011.. SC11.. We will be showing a lot of things, including MOG (MIMD On GPU), NodeScape, and KNITT (Kentucky Network ImplementationTopology Tool).. November 11, 2011.. Dietz gave two talks at Microsoft Research in Redmond, WA.. Both talks are now available online:.. The Benefits of Being Out Of Focus: Making the Most of Lens PSF.. MIMD on GPU.. September 7, 2011.. Meeting for UK grad undergrad students interested in learning about our research group.. Like the hardcopy announcement (.. ) says, we'll have pizza in 108 Marksbury at 1PM.. May 9, 2011.. Our new machine room in 108A Marksbury is now reasonably operational.. and we have a new tool,.. nodescape.. , that helps monitor everything.. Here.. is the current status of the equipment in 108A Marksbury.. March 14-18, 2011.. During.. UK's.. Spring Break, we are starting to power-up our new machine room, etc.. , in the new Davis Marksbury Building.. Dietz now has his office in room 203, and the new lab and machine room are room 108 and 108A.. Yes, we still have our old machine room in 672 FPAT.. and both are quite full.. ;-).. February 26, 2011.. Org participated in the.. Engineer's Day Open House.. ; there were many activities, not just Aggregate.. Org -- it's a neat way to spend a Saturday morning, and it's free.. Major Quarry Sites.. Aggregate Function Networks (PAPERS beyond):.. Theory.. ,.. Software.. , and.. Hardware.. Assembler Interpreter from Kentucky.. Cluster Design Rules.. Compressive Hashing Memory Access Entropy.. Digital Imaging Technologies.. Energy Management.. Flat Neighborhood Networks (FNNs).. helpme.. : Audio Diagnostics for Clusters Server Farms.. Kentucky Architecture, Nanoprocessors, Nanocontrollers.. Line Associative Registers (LARs).. Making Things (2D cutting, 3D printing, etc.. ).. Magic Algorithms (many SWAR bit twiddles, etc.. MIMD On GPU (MOG).. NetWires network visualization tool.. Numerical Precision, Accuracy, and Range.. PCCTS: Purdue Compiler Construction Tool Set.. SWAR: SIMD Within A Register.. Other Stuff (for which we don't have a clever title yet ;-).. HOWTOs, Documentation, and Downloads.. News Public Demonstrations.. Technical Publications.. Applications.. Facilities.. Safety guidelines for KAOS labs.. Contact Cement.. This site, and the research described, includes work created by researchers at a number of institutions, but the lead research group is.. in the.. Electrical and Computer Engineering Department.. of the.. in.. Lexington, KY.. Org is led by Professor and Hardymon Chair in Networking,.. Hank Dietz.. , who created KAOS out of the relatively well-ordered.. PAPERS Group.. that he founded in 1994 at.. Purdue University.. See.. this notice.. for information about copyrights, etc.. thing set in stone is our name..

    Original link path: /
    Open archive

  • Title: The Aggregate: KAOS; Compilers, Hardware Architectures, Operating Systems
    Descriptive info: What Is KAOS?.. A high-performance computing system is not created by accident, but by the careful design and implementation of interactions between.. C.. ompilers,.. H.. ardware.. A.. rchitectures, and.. O.. perating.. S.. ystems.. The University of Kentucky's.. group works to create, demonstrate, and disseminate technologies that can improve performance or provide new capabilities by integrating different aspects of computer system design.. This systems research is not limited to systems hardware and software, but also includes working with application developer collaborators to port, tune, and enhance their codes.. KAOS expands upon the concept of "Compiler-oriented Architecture" that.. and his students developed from 1986 to 1999, while he was a faculty member in Electrical and Computer Engineering at Purdue University.. KAOS began in September 1999 when Hank moved to the University of Kentucky to become a Professor of Electrical Engineering and the James F.. Hardymon Chair in Networking.. In 2002,..  ...   were wondering, the name KAOS is not only a Kentucky-flavored spelling of C.. H.. A.. O.. , but also an obscure reference to the old "Get Smart" TV series in which KAOS was the organization fighting against CONTROL.. Places in KAOS.. Originally, the secret KAOS laboratory was room 672 Anderson Hall.. but now there are three.. All three labs are in Anderson Tower (which was commonly known as Anderson Hall before the Ralph G.. Anderson building materialized in front of it).. In fact, so are the offices of the primary KAOS faculty.. The KAOS-relevant rooms are:.. Office of.. , 469 Anderson Tower.. , 683 Anderson Tower.. Software Development Laboratory, 577 Anderson Tower.. workstations and "safe playground" clusters.. Professor in charge:.. Supercomputer Machine Room, 672 Anderson Tower.. housing for our clusters, with extra air conditioning and power.. Hardware Development Maintenance Facility, 695 Anderson Tower.. dedicated to building and debugging hardware..

    Original link path: /KAOS/
    Open archive

  • Title: The Aggregate SC2014 Research Exhibit
    Descriptive info: This is the home page for our 21st major research exhibit at the IEEE/ACM Supercomputing conference.. The exhibit is again under the title.. Org.. / University of Kentucky.. , the informal research consortium led by our KAOS (Compilers, Hardware Architectures, and Operating Systems) group here at the University of Kentucky's Department of Electrical and Computer Engineering.. We are.. booth #3413.. , on the far right as you enter the hall.. Our 21st Exhibit.. As usual, our research exhibit this year will be showing a lot of different things we have developed or are developing.. ranging from supercomputer architecture to 3D printing technology and a new model for imaging sensors.. Here's the booth overview on the big screen we used as signage, slide show, and two live camera views:.. Updates.. The primary new stuff was two major updates:.. A Maze of Twisty Little Passages.. -- an update to MOG (MIMD on GPU).. The MOG core is becoming close to production quality and there are now several system calls implemented (the GPU code can now perform host system calls).. We didn't bring the big wooden maze, but did bring a few small plastic ones that made the MIMD-can-run-efficiently-on-SIMD point as well as their giant wooden sibling used to.. Time Domain Continuous Imaging.. -- an update to the new imaging sensor model that captures continuous waveforms for pixel light level over time rather than frames.. The 3D-printed bronze/black multi-camera prototype for capturing approximate TDCI streams using conventional sensors was also shown.. Here's what that part of the booth looked like:.. 3D Printer.. 3D printing plays a major role in the computational photography work we are doing (for 3D printing custom camera  ...   10mm/s in a (failed) attempt to get comparable print quality.. Live video from the blue webcam on the printer was also displayed on the big screen, really showing-off the M2 print speed.. We didn't ask MakerGear for anything, nor did they give us anything, but they sure got some great PR out of our booth!.. Something Old.. The big surprise in our booth was the 20-year-old TTL_PAPERS microcluster.. We celebrated 20 years of Linux cluster computing at SC13.. However, with all the fuss about 20 years of Beowulf, we this year decided it might be fun to revive this old cluster, which in 1995 became the first portable (luggable) Linux cluster.. After replacing CMOS back-up batteries, only one of the four Compaq Aero laptops didn't boot (bad disk).. We recompiled the ancient software for 3 processors and everything worked!.. It was actually running the same demo it did at SC95, playing multi-voice music by toggling the PC speakers, randomizing which machine played each note and syncing at every note using the TTL_PAPERS hardware with 3us latency.. Three of us who built the first Linux PC cluster in 1994, and this system ins 1995, were at SC14.. Here we are, left to right, Randy Fisher, Hank Dietz, and Tim Mattox:.. Group Photo.. Here are the SC14 booth people for Aggregate.. Org / University of Kentucky.. Left to right, Paul Eberhart, Sam Morris, Frank Richardson, Zachary Snyder, Professor Hank Dietz, and (not at UK but still with Aggregate.. Org) Dr.. Randy Fisher.. Timelapse Video.. Here's our traditional fisheye timelapse video of the exhibit.. It's missing some stuff because, as always, relying on wireless at SC isn't really a good idea..

    Original link path: /EXHIBITS/SC14/
    Open archive

  • Title: The Aggregate: CHDK for Computational Photography
    Descriptive info: G.. Dietz.. org/hankd/.. Department of Electrical and Computer Engineering.. Center for Visualization Virtual Environments.. University of Kentucky, Lexington, KY 40506-0046.. Initial release: October 22, 2013.. This document should be cited using something like the bibtex entry:.. @techreport{chdk20131022, author={Henry Gordon Dietz}, title={{CHDK For Computational Photography}}, month={October}, year={2013}, institution={University of Kentucky}, howpublished={Aggregate.. Org online technical report}, URL={http://aggregate.. org/DIT/CHDK/} }.. For quite some years now, I, Professor Hank Dietz, and my students have been using.. CHDK (Canon Hack Development Kit).. to do evil things inside Canon PowerShot cameras.. CHDK has always been uniquely useful in allowing commodity cameras to run arbitrary native-compiled C code, and it's slowly been getting better.. The thing that hasn't gotten much better is the documentation and generally rough structure of the CHDK wiki..  ...   three days of work, here's my current best attempt:.. chdkluaref.. ps.. pdf.. This reference card doesn't tell you much about using CHDK, but it's a good reference for programming CHDK cameras using Lua scripting.. This card is also now available from the.. page at the CHDK Wiki.. It's worth noting that I had to leave-out quite a bit of useful info to fit things on one card.. I expect to further edit-down the card to the most useful and portable subset, thus making space for an example script, etc.. The only obvious indication I've done an update with often be the date marked on the card; the above link will always get you the latest version.. CHDK Lua Scripts.. I'll be posting some scripts here shortly..

    Original link path: /DIT/CHDK/
    Open archive

  • Title: Fall 2014 EE 599-002/699-002
    Descriptive info: Fall 2014 EE 599-002 / 699-002.. Time Place:.. TuTh 9:30-10:45,.. 265 FPAT.. Course URL:.. org/CACS/.. Instructor:.. Professor Hank Dietz,.. , research at.. org/DIT/.. Audience:.. Undergrad Grad students, especially Computer Engineering/CS/EE majors.. Abet Summary:.. Preliminary ABET-style Course Summary.. Syllabus:.. Preliminary Syllabus for this Semester.. References:.. Reference materials.. Assignment 0:.. So Far Away.. , due October 7, 2014.. Assignment 1:.. ISO-less?.. , due October 23, 2014.. Assignment 2:.. On A Leash.. , due November 6, 2014.. Assignment 3:.. Ch-Ch-Ch-Ch-Changes.. , due December 15, 2014.. Assignment 4:.. Out Of The Blue.. There will be a make-up class 3:30-6PM, Dec.. 3, in 108 Marksbury.. This is essentially an embedded computing course about digital cameras.. Over less than two decades, electronic cameras have evolved from dumb, low-quality, analog devices into powerful digital computing systems capable of delivering images with quality challenging that previously obtained only by careful use of medium or large format film.. In fact,.. a typical modern camera contains one or more 32-bit cores running relatively powerful operating systems, such as Linux.. Digital cameras are now capable of much more than simply capturing high-quality images.. The term.. "computational photography".. has become associated with some of these new abilities, especially those related to image processing.. However, treating cameras as computing systems isn't just about what happens after an image is captured.. This course will begin with an introduction to the basic principles of photography and operation of digital cameras.. No experience or expertise in photography is required as a prerequisite, although many aspects of the discussion will be motivated by explaining photographic techniques.. About one third of the course will be about the basic mechanisms and processes asociated with digital cameras.. The second third of the course will focus on control  ...   post-capture processing.. It is assumed that students have sufficient background to be comfortable writing modest C/C++ programs using a minimal Linux development environment.. Any other environments that are required to be used in the course will be discussed in the course materials and lectures.. Digital cameras will be provided for the projects.. The two course numbers are meant to distinguish between undergrad and graduate students taking the course.. The primary difference is that graduate students will be required to implement a somewhat larger, more open-ended, project which they also will present to the class.. All students will learn how digital cameras work both as photographic devices and as computers, and will gain some experience using them as computing devices to obtain higher quality images and to perform a range of tasks conventional cameras cannot.. About the instructor.. : Professor Dietz is known primarily for his work in supercomputing, but has a long history in photography.. He was photo editor for his high school newspaper and yearbook, and as an undergrad for Columbia University's.. Broadway Magazine.. He has had news photos published in the.. New York Times.. and shot a full-page color ad for.. Hammacher-Schlemmer.. which appeared in the.. Saturday Evening Post.. Photography faded into a hobby as he became known for his computer engineering research.. until 1996, when he built 30MP video wall for a cluster supercomputer.. Since then, he has been doing all sorts of work treating cameras as computing systems, trying to improve image quality and give cameras new abilities.. See the.. Digital Imaging Technology.. page at.. for an overview of his work in this area, which ranges from anaglyph and other forms of "3D" capture to development of a new type of photographic sensor..

    Original link path: /CACS/
    Open archive

  • Title: The Aggregate Magic Algorithms
    Descriptive info: The Aggregate Magic Algorithms.. There are lots of people and places that create and collect algorithms of all types (.. here.. are a few WWW sites).. Unfortunately, in building systems hardware and software, we in.. often have found it necessary to do relatively obscure low-level things very efficiently.. Many of the tricks we've devised or collected either require assembly language coding or are not entirely portable when coded in HLLs like C, but these techniques are still valuable because they can yield significant performance improvements over the more obvious ways of doing things.. None of the following coding tricks came from proprietary sources; further, we believe that each of the tricks we did not invent is essentially "standard engineering practice" in the specialized niche where it applies.. Thus, although we have not conducted patent searches, etc.. , to confirm it, we believe that these are tricks that freely can be used for any purpose.. Of course, The Aggregate accepts no responsibility for your use of these tricks; you must confirm that the trick does what you want and that you can use it as you intend.. That said, we do intend to maintain this page by adding new algorithms and/or correcting existing entries.. If you have any comments, please contact.. Professor Hank Dietz.. This document should be cited using something like the following bibtex entry, but with the date fetched from this site inserted:.. @techreport{magicalgorithms, author={Henry Gordon Dietz}, title={{The Aggregate Magic Algorithms}}, institution={University of Kentucky}, howpublished={Aggregate.. org/MAGIC/} }.. Index of Algorithms.. Absolute Value of a Float.. Alignment of Pointers.. Average of Integers.. Bit Reversal.. Comparison of Float Values.. Comparison to Mask Conversion.. Divide Rounding.. Dual-Linked List with One Pointer Field.. GPU Any.. GPU SyncBlocks.. Gray Code Conversion.. Integer Constant Multiply.. Integer Minimum or Maximum.. Integer Power.. Integer Selection.. Is Power of 2.. Leading Zero Count.. Least Significant 1 Bit.. Log2 of an Integer.. Next Largest Power of 2.. Most Significant 1 Bit.. Natural Data Type Precision Conversions.. Polynomials.. Population Count (Ones Count).. Same Within Tolerance.. Shift-and-Add Optimization.. Sign Extension.. Swap Values Without a Temporary.. SIMD Within A Register (SWAR) Operations.. Trailing Zero Count.. IEEE floating point uses an explicit sign bit, so the absolute value can be taken by a bitwise AND with the complement of the sign bit.. For IA32 32-bit, the sign bit is an.. int.. value of 0x80000000, for IA32 64-bit, the sign bit is the.. long long int.. value 0x8000000000000000.. Of course, if you prefer to use just.. values, the IA32 64-bit sign bit is 0x80000000 at an.. address offset of +1.. For example:.. double x; /* make x = abs(x) */ *(((int *) &x) + 1) &= 0x7fffffff;.. Alignment of pointers is a pretty common problem, and there are several relevant tricks, so, at the suggestion of.. Jean-Charles Meyrignac.. (who also provided an example of the upward alignment described below), I've added a little description here.. It is fairly obvious that the downward alignment of an address.. a.. to a multiple-of-.. b.. boundary, where.. is a power of 2, is simply.. (a & ~(b-1)).. Of course,.. ~(b-1).. is also.. -b.. , so.. (a & -b).. also works (the difference is usually nothing; if.. is a constant, most compilers will fold the first into the second form).. For upward alignment, we simply add.. b-1.. :.. ((a + (b-1)) & -b).. Of course, there are a few complications.. First, languages like C, which allow pointer arithmetic, generally scale pointer offsets by the size of the target object -- which would keep our math from working.. It used to be that casting a pointer as a.. (char *).. would turn-off this scaling, but with.. long char.. and such out there, a cast as.. (void *).. is probably a safer bet.. Unfortunately, C doesn't define bitwise operations on pointers of any flavor, so you'll need to cast to an appropriately-large integer type before doing a bitwise AND.. Secondly, aligning an address doesn't help unless you allocated a large enough chunk of memory so that you can treat your data structure as starting at the aligned address.. In general, if you wish to create a.. -aligned data structure with.. c.. bytes, you would do something like:.. a=((typeof(a))(((int)(((void *)malloc(c+(b-1)))+(b-1)))&-b)).. Please excuse my use of the GCC.. typeof().. Anyway, this is particularly useful for cache-line alignment of data structures.. One little annoyance: you can't call.. free(a).. ; you'll need to keep a copy of the original block address for that.. This is actually an extension of the "well known" fact that for binary integer values.. x.. y.. (x+y).. equals.. ((x&y)+(x|y)).. ((x^y)+2*(x&y)).. Given two integer values.. , the (floor of the) average normally would be computed by.. (x+y)/2.. ; unfortunately, this can yield incorrect results due to overflow.. A very sneaky alternative is to use.. (x&y)+((x^y)/2).. If we are aware of the potential non-portability due to the fact that C does not specify if shifts are signed, this can be simplified to.. (x&y)+((x^y)>>1).. In either case, the benefit is that this code sequence cannot overflow.. Reversing the bits in an integer.. is somewhat painful, but here's a SWAR algorithm for a 32-bit value:.. unsigned int reverse(register unsigned int x) { x = (((x & 0xaaaaaaaa) >> 1) | ((x & 0x55555555).. > 2) | ((x & 0x33333333).. > 4) | ((x & 0x0f0f0f0f).. > 8) | ((x & 0x00ff00ff).. > 16) | (x.. It also is possible to re-write this algorithm to use 4 instead of 8 constants, thus saving some instruction bandwidth.. On my 1.. 2GHz Athlon (a Thunderbird), the difference is too small to measure reliably.. Here's the other version:.. unsigned int reverse(register unsigned int x) { register unsigned int y = 0x55555555; x = (((x >> 1) & y) | ((x & y).. > 2) & y) | ((x & y).. > 4) & y) | ((x & y).. > 8) & y) | ((x & y).. IEEE floating point has a number of nice properties, including the ability to use 2's complement integer comparisons to compare floating point values, provided the native byte order is consistent between float and integer values.. The only complication is the use of sign+magnitude representation in floats.. AMD Athlon Processor x86 Code Optimization Guide.. gives a nice summary on Page 43.. Here's a set of C routines that embody the same logic:.. #define FasI(f) (*((int *) &(f))) #define FasUI(f) (*((unsigned int *) &(f))) #define lt0(f) (FasUI(f) > 0x80000000U) #define le0(f) (FasI(f).. 0) #define ge0(f) (FasUI(f).. In many cases, it is useful to convert the result of a comparison, which is either 0 or some non-zero bit pattern, into either a "clean" 0 or -1 bit mask.. For many systems, this can be efficienty done by C code that simply uses the logic operators and negation:.. -(x!=0).. or.. -!!x.. This is a very well known and old method, really a direct consequence of (and partial motivation for) the C concept of conditional results being integers.. However, for some compilers and instruction sets (especially SWAR targets), the code generated for logicals is terrible, sometimes even including conditional branches! Where this obvious coding doesn't work well, here are some alternatives.. If the messy.. non-negative.. integer value is.. , the sanitized version is:.. (((int) (-x)) >> (WORDBITS - 1)).. To remove the constraint that the messy value be non-negative, use:.. (((int) (x | -x)) >> (WORDBITS - 1)).. Logically, this works because the shift by.. (WORDBITS-1).. replicates the sign bit to create a mask -- be aware, however, that the C language does.. require that shifts are signed even if their operands are signed, so there is a potential portability problem.. Additionally, one might think that a shift by any number greater than or equal to.. WORDBITS.. would have the same effect, but many instruction sets have shifts that behave strangely when such shift distances are specified.. Of course, the opposite condition can be tested using:.. (((int) ~(x | -x)) >> (WORDBITS - 1)).. If you prefer the C-standard 0 or 1 comparison result, simply use the.. unsigned.. shift:.. (((unsigned int) (x | -x)) >> (WORDBITS - 1)).. The opposite condition can be obtained using:.. (((unsigned int) ~(x | -x)) >> (WORDBITS - 1)).. Normally, a dual-linked circular list would contain both previous and next pointer fields and the current position in the list would be identified by a single pointer.. By using two current pointers, one to the node in question and the other to the one just before/after it, it becomes possible to store only a single pointer value in each node.. The value stored in each node is the XOR of the next and previous pointers that normally would have been stored in each node.. Decoding is obvious.. Unfortunately, using this trick in C is awkward because the XOR operation is not defined for pointers.. Joe Ibershoff, one of my students, pointed-out that integer divide noramlly yields the floor, but both ceiling and round-to-nearest are easy and useful.. I thought these were fairly well-known tricks closely related to the.. magic, but perhaps they aren't so obvious.. ? He points out that.. Ceiling(a/b).. is.. (a+b-1)/b.. RoundToNearest(a/b).. (a+(b/2))/b.. Of course, these tricks also work if divide is implemented in less obvious ways, such as shifts or shift-and-subtract sequences.. A basic SIMD operation, "any" is a logical-OR reduction that returns true if any of its inputs are true.. On SIMD hardware, this is usually very easy.. but not so on GPUs (Graphics Processing Units).. NVIDIA's CUDA has recently added hardware support, but there is a more portable way that is just as fast.. p_any(flag).. operation within a block can be accomplished by:.. if (flag) sharedtemp = serial; /* maskable store */ __syncthreads(); /* optional with right block size */ p_any = (sharedtemp == (serial++));.. We first publically announced this at SC08, and we're pretty sure we invented  ...   x |= (x >> 4); x |= (x >> 8); x |= (x >> 16); return(x+1); }.. , the most significant 1 bit (highest numbered element of a bit set) can be computed using a SWAR algorithm that recursively "folds" the upper bits into the lower bits.. Bitwise AND of the original value with the complement of the "folded" value shifted down by one yields the most significant bit.. unsigned int msb32(register unsigned int x) { x |= (x >> 1); x |= (x >> 2); x |= (x >> 4); x |= (x >> 8); x |= (x >> 16); return(x & ~(x >> 1)); }.. For integers used to represent natural data types, simply shifting right works well for conversion to a lower precision, but shifting left is not very effective for converting to a higher precision.. The problem is simply that if the "new" bits are taken to be 0s, the maximum value will never be attained.. Likewise, if taken to be any fixed non-0 value, the value zero will never be obtained.. A good answer to this problem is to replicate the existing bit pattern in the "new" bits, truncating or repeating the pattern if more bits are needed.. For example, a 10-bit raw pixel value (e.. g.. , from my Canon G1) called.. can be extended to a 16-bit value by the expression.. ((x.. >4)).. This way, both the maximum and minimum values are reachable, with good linearity throughout the entire range.. It is fairly obvious, but.. x0+x1*x+x2*x*x+x3*x*x*x+.. always can be rewritten as the usually faster equivalent.. x0+x*(x1+x*(x2+x*(x3+x*(.. )))).. There are various accuracy and other issues, but this sort of obvious transformation should not be overlooked.. The population count of a binary integer value.. is the number of one bits in the value.. Although many machines have single instructions for this, the single instructions are usually microcoded loops that test a bit per cycle; a log-time algorithm coded in C is often faster.. The following code uses a variable-precision SWAR algorithm to perform a tree reduction adding the bits in a 32-bit value:.. unsigned int ones32(register unsigned int x) { /* 32-bit recursive reduction using SWAR.. but first step is mapping 2-bit values into sum of 2 1-bit values in sneaky way */ x -= ((x >> 1) & 0x55555555); x = (((x >> 2) & 0x33333333) + (x & 0x33333333)); x = (((x >> 4) + x) & 0x0f0f0f0f); x += (x >> 8); x += (x >> 16); return(x & 0x0000003f); }.. It is worthwhile noting that the SWAR population count algorithm given above can be improved upon for the case of counting the population of multi-word bit sets.. How? The last few steps in the reduction are using only a portion of the SWAR width to produce their results; thus, it would be possible to combine these steps across multiple words being reduced.. One additional note: the AMD Athlon optimization guidelines suggest a very similar algorithm that replaces the last three lines with.. return((x * 0x01010101) >> 24);.. For the Athlon (which has a very fast integer multiply), I would have expected AMD's code to be faster.. but it is actually 6% slower according to my benchmarks using a 1.. 2GHz Athlon (a Thunderbird).. Why? Well, it so happens that GCC doesn't use a multiply instruction - it writes out the equivalent shift and add sequence!.. Same Within Tolerance.. Sometimes it is necessary to test if two integers,.. , have the same value within a given tolerance,.. The obvious test would be something like.. ((a>b)?(a-b):(b-a)) c.. , which isn't horrifically inefficient, but does involve a conditional branch.. Alternatively,.. abs(a-b) c.. would do.. but again, it takes some cleverness to implement.. abs().. without a conditional jump.. Here's a branchless alternative.. If.. (a-b) 0.. , then.. (b-a) 0.. ; similarly, if.. Both can't be greater than 0 simultaneously.. Suppose that.. Subtracting.. ((a-b)-c).. will produce a negative result.. iff.. are within.. of each other.. Of course, our assumption requires.. ((b-a)-c).. simply becomes more negative (assuming the value doesn't wrap around).. Generalizing, if either.. ((a-b)-c) 0.. ((b-a)-c) 0.. then the values of.. are not the same within tolerance.. In other words, they are within tolerance if:.. (((a-b-c) (b-a-c)).. This test can be rewritten a variety of ways.. 0.. part is really just examining the sign bit, so a mask or shift could be used to extract the bit value instead.. For example, using 32-bit words,.. (((a-b-c) (b-a-c)) 31).. using unsigned.. will produce the value 1 for true or 0 for false.. It is also possible to factor-out.. t=a-b.. , giving:.. (((t-c) (-t-c)).. Which is really equivalent to.. abs(t) c.. Rather obviously, if an integer multiply can be implemented by a shift-and-add sequence, then a shift-and-add sequence can be implemented by multiplying by the appropriate constant.. with some speedup on processors like the AMD Athlon.. Unfortunately, GCC seems to believe constant multiplies should.. always.. be converted into shift-and-add sequences, so there is a problem in using this optimization in C source code.. Although many instruction sets provide single machine instructions that implement sign extension of 2's-complement integers, I've been sent a number of tricks for sign extension.. I've included them here because sign extension instructions generally work only on the data sizes directly understood by the processor, whereas these methods work on any bit precisions.. The most obvious method assumes that you have a signed right shift: to extend an.. -bit number.. to.. bits, shift left by.. b-a.. , then signed shift that value right by.. bits.. I believe this has been widely known and used for many years -- I know I didn't invent it, but used it decades ago.. suggested a shiftless variation that basically does a 1-bit add to flip high bits: if.. n.. is 2 to the.. , simply compute.. (((x | -n) + (n/2)) ^ (n/2)).. This version has been posted here for some time.. However, in August 2010,.. Joe Zbiciak.. sent me a little email with a.. much.. cleaner shiftless sign extension:.. ((x ^ n) - n).. where.. is the value of the top bit position in the number to be extended.. Thus, to sign-extend an 8-bit value.. , compute.. ((x ^ 128) - 128).. It really couldn't be much simpler or more obvious.. at least once you've been told how to do it.. Given two binary integer values,.. , the values can be exchanged without use of a temporary by:.. x ^= y; /* x' = (x^y) */ y ^= x; /* y' = (y^(x^y)) = x */ x ^= y; /* x' = (x^y)^x = y */.. It should be obvious that this can be done with various operators and their inverses, but xor has the unusual property that it is it's own inverse.. For example, here it is with modular add and subtract:.. x += y; /* x' = (x+y) */ y = x - y; /* y' = (x+y)-y = x */ x -= y; /* x' = (x+y)-x = y */.. This works on machines that don't have xor instructions.. It even would also appear to work for floating point values, but where there is a significant difference in magnitude between.. , there can be a serious loss of accuracy in the value with the smaller magnitude.. has a much greater magnitude than.. (x+y)==x.. and we end with.. y=0.. The interesting thing is that you can losslessly swap floating-point values by treating them as integers and using xor.. Before we coined the name SWAR in Fall 1996, we already had defined a complete set of basic operations and described how they could be implemented with good efficiency.. On February 4, 1997, we posted.. this.. fairly complete overview document and there also are.. from a seminar presentation I gave at Purdue.. These methods were used in our SWARC compiler and were detailed in a number of our publications throughout the 1990s.. We hadn't posted them on this page because they were so prominently published elsewhere.. However, much to our surprize,.. United States Patent 7039906, "Compiler for enabling multiple signed independent data elements per register,".. was filed October 20, 2000 and was issued to IBM on May 2, 2006! By our reading, this patent appears to seriously overlap my and Randy Fisher's earlier published work -- much of which was cited by the patent examiner.. I am posting this note here so that people who happen to hear about the IBM patent will not be discouraged from using the prior art technologies developed by us, which, by being cited in the patent, are explicitly not covered by the patent.. Given the.. algorithms, it is trivial to combine them to construct a trailing zero count (as pointed-out by Joe Bowbeer):.. unsigned int tzc(register int x) { return(ones((x & -x) - 1)); }.. Other People's Magic.. The following are generally good sources of magic algorithms:.. HAKMEM.. a collection of mostly low-level tricks and otherwise interesting ideas, some quite old.. Bit Twiddling Hacks.. a page full of tricks very similar in spirit to those here.. an exceptionally complete coverage of Athlon-oriented magic at both the C and x86 assembly levels.. Intel Architecture Optimization Reference Manual.. Intel Pentium 4 Processor Optimization Reference Manual.. Intel's equivalents to the AMD document above.. very x86-oriented (including MMX, SSE, and SSE2).. The PowerPC Compiler Writer's Guide.. Technical Site Index.. for azillionmonkeys.. lots of stuff, including hacks in x86 and C.. Reciprocal Multiplication, a tutorial.. a really nice piece of work by Doug Jones.. Digital Signal Processing Tricks (from comp.. dsp).. various good algorithms.. Programming Pearls.. book online.. Hacker's Delight.. is a book that seems to talk about many of the same issues discussed on this page.. Bit Permutations.. by Jasper Neumann, with very nice diagrams explaining them.. by Sean Eron Anderson, a very carefully done collection..

    Original link path: /MAGIC/
    Open archive

  • Title: IEEE SoutheastCon 2014
    Descriptive info: IEEE SoutheastCon 2014.. Unbridled Innovation, Engineering Excellence.. March 13-16, 2014,.. Griffin Gate Marriot Resort Spa.. , Lexington, Kentucky.. The "official" website is finally online at.. http://ewh.. ieee.. org/reg/3/southeastcon2014/.. Everything is linked from there.. The direct link for authors is.. org/reg/3/southeastcon2014/callforpapers.. html.. The actual abstract/paper submission and attendee registration links are at.. https://www.. xcdsystem.. com/SoutheastCon2014/.. The printed conference program PDF file is.. ; a few last-minute changes have been made since this document was finalized, but affected individuals should know about them..

    Original link path: /SoutheastCon2014/
    Open archive

  • Title: The Aggregate SC2013 Research Exhibit
    Descriptive info: This is the home page for our 20th major research exhibit at the IEEE/ACM Supercomputing conference.. booth #629.. , near the left side of the hall and about 2/3 of the way back from the entrances (as seen in the.. exhibit hall floorplan.. Our 20th Exhibit.. As usual, our research exhibit this year will be showing a lot of different things we have developed or are developing, but this year one of our two slideshows is a 20-year history overview showing some of our key accomplishments, from the first Linux clusters and PAPERS (Purdue's Adapter for Parallel Execution and Rapid Synchronization) network hardware to MOG (MIMD On GPU) and beyond.. We actually had the original PAPERS unit on display, and it attracted a surprising level of attention.. it's rather surprizing that the operations that it did in 3us back in 1994 still take longer than that using the latest, fastest, network hardware.. at least it is no longer.. 5 orders of magnitude.. faster than standard network hardware.. New Work Presented.. The wide range of topics emphasized in our exhibit is summarized in white papers, which are available as hardcopy (with "print on demand" when we run out) from our research exhibit, booth 629, at.. They are also posted here:.. (the big new thing this year: millions of PEs inside an imaging sensor).. 20 Years of AGGREGATE.. ORG SC Exhibits.. (our history summary).. (an update on MIMD On GPU -- MOG -- return of  ...   20th Year Refrigerator Magnet,.. http://www.. thingiverse.. com/thing:189344.. A giveaway made for our SC13 exhibit.. This commemorates our 20th year as an SC research exhibit and the upcoming 20th anniversary of our building the world's first Linux PC cluster supercomputer in Feb.. 1994.. Dovetail Puzzle Keychain,.. com/thing:189221.. This 3-piece keychain dovetail puzzle shows the basic principle behind SWAR and LAR technologies: carving a fixed-size data path into various size fields that are operated upon in parallel.. 3D-Printed Page Holder,.. com/thing:189007.. Minor tweaks on an existing design for a page holder.. We did this to hold handouts for display at SC13; it worked very well.. Keychain,.. com/thing:189455.. Made as a "save the date" reminder and originally distributed at IEEE SoutheastCon 2013 to all paper authors, we've finally posted the design on Thingiverse.. To keep print time down, it's actually a bit thin.. It isn't thin enough to cause any functional problems as a keychain, but you might want to increase the thickness a little for a more robust-feeling print.. Live Camera.. Well, not so live.. We depend on SC13's wireless network to do live things and, well, it hasn't been reliable enough this year to be pushing much of anything back to our servers.. That hasn't stopped us from capturing fisheye views of our booth with an old network camera.. The time-lapse movie will be posted here after we get home.. sooner if wireless gives us a chance.. Well, it's partly here:.. Monday time-lapse video..

    Original link path: /EXHIBITS/SC13/
    Open archive

  • Title: The Aggregate: Making Things
    Descriptive info: Making Things.. Yes, Aggregate.. Org has jumped into the world of making things.. Henry George Dietz founded a manufacturing company in 1947.. so it isn't surprising that, as a kid, Prof.. Dietz, his eldest son, grew-up spending a lot of time learning drafting, machining, tool and die making, injection moulding, and all the other skills associated with manufacturing.. In the late 1970s, Prof.. Dietz learned to program the Bridgeport Series 1 CNC Milling Machine, and ended-up writing various software to ease the process of converting 3D designs into physical things.. In fact, Prof.. Dietz started out as a double major between ME and EE.. So, the technologies for building things have always been of interest to Prof.. Why has Aggregate.. Org waited until 2013 to get involved in making things? We believe that making things, even at the hobbyist level, has finally become largely a computer engineering problem.. We're really good at those.. Introductory Talks.. STEM presentation at Tates Creek Middle School, March 14, 2013.. Professor Dietz, assisted by Paul Eberhart, demonstrated our MakerGear M2 printing a Tates Creek logo medal.. Here are overview slides (.. YMCA Black Achievers presentation at Lexington Traditional Magnet School, September 28, 2013.. Professor Dietz, assisted by Paul Eberhart, demonstrated 2D paper cutting to make parts for an operating iris card and 3D printing using our MakerGear M2 to build a hingebox and a printed-assembled prosthetic hand.. This went well despite having students actually build both the iris card and the hand, but the iris card was difficult for students to assemble (using a stapler might help?).. Our Making Equipment.. The University of Kentucky has a manufacturing center with extensive facilities.. However, our group also has been accumulating hobbyist-level equipment of our own.. The two key devices right now are:.. A Silhouette SD (Graphtec) programmable paper cutter.. This sub-$200 device is essentially 2D only, using a small blade to cut thin material ranging from paper to thin plastic sheets.. It is certainly not a laser cutter, but it is surprisingly effective on soft-enough materials; the angled edge of the blade only causes significant imprecision on very small cuts involving sharp angles.. A MakerGear M2.. This $1500 "3D printer" extrudes 1.. 75mm-diameter thermoplastic filament into very precisely positioned plastic strands that bond to each other to form a 3D structure.. The extruded strands are generally between 0.. 05mm and 0.. 25mm in diameter, but positioning accuracy is as fine as 0.. 01mm.. Using environmentally friendly PLA (polylactic acid, really a polyester), the parts produced have excellent properties -- quite strong and dimensionally stable.. Paul Eberhart (who is not just a grad student in our group, but also a long-time maker) has been posting photos of our experiences with the MakerGear M2 at.. this Google+ page.. That can give you a more raw look at what we've been doing with the M2.. It's also useful to have some idea of 3D printing cost.. Electrical power use is minimal, and so is "wear and tear" on the printer, so cost is mostly in the filament.. Both PLA and ABS filament are generally sold in 1Kg spools with a typical delivered price of around $45 each.. but how much filament is that really? Well,.. this site.. lists density of PLA as 1.. 25 g/cm3 and ABS as 1.. 01 g/cm3.. That means you get about 800 cm3 of PLA or 990 cm3 of ABS in a spool, for a cost of $0.. 056/cm3 for PLA and $0.. 045/cm3 for ABS (just to put this in perspective,.. Ponoko charges at least $0.. 86/cm3.. , so using your own printer is about 15X cheaper).. If you're extruding a 0.. 3mm layer of PLA, that comes out to over 2m of extruded material per penny, or about 4 cents/minute at our M2's (relatively fast) maximum 150mm/s extrusion speed.. Of course, per meter cost is nearly an order of magnitude lower using 0.. 1mm extrusion.. Some Of Our "Things".. Meade Telescope To Sony E/FE Mount Adapter,.. com/thing:167460.. A simple adapter tube for fitting an E/FE mount camera body on a Meade telescope eyepiece tube.. "A gun,".. com/thing:162118.. A gun keychain.. Not really a gun, just literally "A gun.. " ;-).. Instructable:.. com/thing:158843.. Here's our 3D-printed prosthetic/robotic hand for which all the printed parts print assembled without supports in less than an hour.. You still have to thread some fishing line and rubber bands through it, but from print start to working hand is easily done in less than 90 minutes using a total of about $1 worth of materials! Makes a great demonstration piece, although it would have to be tweaked for use as a real prosthetic.. Kiev 10/15 Lens To Canon FL/FD/FDn Body Adapter,.. com/thing:137540.. The Kiev 10 was the first  ...   around 2-3.. USB Webcam Monitoring Of MakerGear M2.. This Instructable,.. , explains how to make a mount for a $6 webcam -- so it can be watched.. I wish I could say we only watch the M2 because it is hypnotic, but it also is very common that prints fail.. Reasons it fails (decreasing frequency):.. Bad first layer (usually due to bad leveling of the base).. Bad bond with the base causes part to slip late in construction.. Twist in filament spooling causes feed to jam extrusion stops.. General References.. Note that being listed as a reference here does not imply an endorsement by the University of Kentucky.. but our group has found the following sites to be useful.. 3ders.. org list of 3D printers.. is probably the single most comprehensive list of what's available, including prices and lead time.. Lots of good info at this site.. MAKE magazine's "ultimate guide to 3D printing".. is a fairly nice overview with detailed evaluations of many printers.. Unfortunately, the field is evolving so fast, and print quality of so many printers is so highly dependent on minor tweaks, that as a buying guide this isn't all that much help.. It does at least give one more realistic expectations: most 3D printers still very slowly produce rather imprecise parts.. Our MakerGear M2 gets pretty much top scores on part quality, and just about everybody who has 3D printing experience has been telling us our M2 is simply outclassing their printers,.. but.. printing precisely-dimensioned parts with our M2 is still somewhat hit-or-miss (with most 3D printers, it seems to be miss-wildly-or-miss-and-hand-rework-to-dimensions).. is one of the best repositories of 3D designs that might actually be printable using additive extrusion.. Customizer by MakerBot.. WWW tool hosted at Thingiverse is a bit of a hack, using special comments to parameterize OpenSCAD files, but it is darned effective.. Instructables.. is probably the site with the most detailed instructions on making things ranging from Chicken Cacciatore to snowmobiles.. It is where we publish most of our "random" making.. OpenSCAD.. is software that processes a simple programming language for defining 3D solid objects.. There isn't really any point-and-click editing support, but the tool seems more reliable than most in producing 3D-printable STL files.. The system apparently uses extensive caching of portions of the design to make processing of minor textual changes to the program fast, although this also seems to make the tool want a heck of a lot of memory space.. (Then again, slicers seem to be at least as memory hungry, so this might not be the performance limiting factor.. FreeCAD.. is a parametric 3D solid modeler that in many ways should be all that OpenSCAD is an more.. but it's more fragile.. If you don't have a design, but want to just build the design as you build the model, this is a pretty good tool to use.. Blender.. is an amazingly powerful 3D creation studio.. but it is hard to learn and more oriented toward animated movues of organic solid models than 3D printing of technically-precise parts.. We don't yet have anyone expert enough to really judge how well it can do in building 3D models for printing.. MakerGear.. 's homepage -- we bought an M2 because it had just about the best reputation for the hot end, seemed very solid, has a good build volume, and was relatively cheap fully assembled.. We have not been disappointed.. From everything we've seen since getting our M2, it really seems an excellent contender for best in its class.. Unfortunately, the M2 pricing has gone up a bit.. Incidentally, MakerGear's black filament (which they are usually out of) is stunningly black even in the thinnest single layer -- it probably contains actual carbon black.. ProtoParadigm.. is a 3D printer filament supplier.. They seem to have very good pricing, but more importantly they have some very competent articles posted overviewing things like the differences between PLA amd ABS, etc.. We haven't tried their filament yet.. MatterHackers.. is another 3D filament supplier, also with good pricing and two grades of filament: regular and "PRO.. " I've just ordered several spools of the PRO 1.. 75mm PLA filament.. it at least looks good on their website.. The ".. unfortunately named.. RepRaper.. Com.. " has stunningly low prices on filament which, after adding rather fast shipping from China, are still very low.. They clearly don't know English very well, but their filament seems to print well.. We have noticed that their filament colors are not very strong, probably imposed with organic dye.. Blue and glow-in-the-dark blue are quite transparent, and black is more of a transparent light smoke color, until you get to about 1mm thickness.. White seems to be more solidly white..

    Original link path: /MAKE/
    Open archive

  • Title: The Aggregate SC2012 Research Exhibit
    Descriptive info: This is the home page for our 19th major research exhibit at the IEEE/ACM Supercomputing conference.. booth #631.. , along the long aisle across the exhibit hall two booths left of NASA (as seen in the exhibit hall floorplan.. The Aggregate's.. Utility.. As usual, our research exhibit this year will be showing a lot of different things we have developed or are developing, but this year you will not find a.. maze.. in our booth.. Instead, you'll see an 8-node cluster of unimpressive old machines (ok, with an NVIDIA GPU in each).. Why? To show off.. , a tool we've created leveraging our Senscape concepts to provide physically-correct color-tinted status displays for parallel computers -- like the one shown above of NAK.. As you also see above, using a video  ...   Tasseography, Scrying, Cluster Status.. A Maze Of Twisty Little Passages.. (an update on MIMD On GPU -- MOG -- what happened to the wooden maze?).. One Chip, Millions of Nanocontro9llers.. Computational Photography.. (about our work treating digital cameras as computing systems).. We depend on SC12's wireless network to do live things and, well, it hasn't been reliable enough this year to be pushing much of anything back to our servers.. That hasn't stopped us from capturing an 8MP per frame 185-degree fisheye view of our booth.. For the meantime, here we are with our exhibit:.. From left to right, we are: Matt Wiggins, Hank Dietz, Randy Fisher, Paul Eberhart, Matt Sparks, Frank Roberts, and Frank Richardson.. Tim Mattox also joined us for some things.. but somebody had to hold the camera..

    Original link path: /EXHIBITS/SC12/
    Open archive

  • Title: Aggregate.Org Sensors
    Descriptive info: Org Sensors.. This page serves as an index to the primary sensors in areas managed by members of KAOS within the Electrical and Computer Engineering Department of the University of Kentucky.. These and other sensors serve several purposes:.. Make it easier to find group members.. It is surprisingly awkward to find people when group resources are spread across several physically-distinct areas.. The Davis Marksbury Building is about 7 blocks away from F.. Provide security.. It's a tradeoff, but we like cameras and other sensors better than extensive use of locks -- they are less disruptive to our research.. It's research too.. We also are using the sensors to develop and test various new technologies, primarily relating to camera control and processing of digital images.. The cameras are generally intelligently controlled by PCs running Linux.. Old RS232C cameras, such as the Nikon 950 and Olympus D340R, are able to be controlled in detail using the.. photopc.. package.. More modern USB-interface still cameras, especially Canon PowerShots, are often given a similar level of control using.. gphoto2.. , but the control is not well standardized, and varies significantly across camera models.. Many network cameras, such as the D-Link DCS-900, only offer control via HTML WWW forms; filled-in forms can be generated and sent using.. wget.. , although this does seem to reveal memory leaks in the firmware of a number of network cameras.. Some images are now using HDR (high dynamic range) processing that involves combining multiple images captured with different exposures.. Such techniques can produce ghosting and other artifacts, but are necessary when low dynamic range cameras are monitoring a very high dynamic range scene.. Without HDR, large portions of the frame would be featureless black or white in such cases.. The Commonwealth of Kentucky allows recording of images where there is no expectation of privacy and allows recording of sounds with notice posted.. Appropriate notice is posted near the outside of the door to each area where sounds may be recorded.. 672 FPAT  ...   but it looks like the power regulation died in the camera -- there is no sign of life from it at all.. However, it's brother is still clicking away in 108A Marksbury.. 108 Marksbury (no phone).. The shared ECE lab of Professors Dietz, Heath, and Qiu.. This laboratory provides a setting in which research not only can be conducted by individuals, but collaboration is encouraged.. Three of the 12 desks are claimed by Dietz's students (the ones in the first camera view below), three by Heath, and four by Qiu.. The remaining two desks are being set-up by Dietz as "transient" workspaces for whoever needs them: visitors, REU students, etc.. The second camera view below is the view of the front of 108 looking out the viewing window in 108A.. The third camera view is a motion-triggered view of the door to 108 Marksbury.. (captured using D-Link DCS-900 with peephole fisheye adapter).. (last 8 motion-detect events captured using D-Link DCS-900).. (from a webcam mounted on our MakerGear M2).. 108A Marksbury (no phone).. This is our scary new machine room.. (Please use hearing protection for any extended periods spent in the machine room during set-up or maintenance; the cooling system fans are really noisy!) Designed to hold a large scale research supercomputer, this room even feeds back waste heat to warm the building.. This room currently houses NAK (NVIDIA Athlon cluster in Kentucky) and four smaller clusters.. The plan is to focus on GPU-based systems for this facility, replacing/upgrading the smaller clusters on a fairly aggressive schedule.. This is the lab where cluster hardware is kept relatively stable to support systems, and even some applications, software development.. (captured using Nikon 950 with fisheye adapter).. 203 Marksbury (859 257 4701).. This is professor Dietz's new office.. It's a fish tank, which is why the fisheye view shows as much of outside as inside the office.. For now, there's also a camera pointed out the window testing some simple software for monitoring people entering/leaving the building..

    Original link path: /SENSORS/NOW/
    Open archive

  • Archived pages: 237