riverhead books is a division of penguin group ( usa ) founded in 1993 by susan petersen kennedy .

writers published by riverhead include marlon james , junot díaz , george saunders , khaled hosseini , nick hornby , anne lamott , patricia lockwood , sarah vowell , the dalai lama , chang-rae lee , meg wolitzer , dinaw mengestu , daniel alarcón , daniel h. pink , steven johnson , jon ronson , and james mcbride .

authors published by riverhead won the dayton literary peace prize for four out of its first six years .

four authors won macarthur genius grants ; many writers riverhead has published have given ted talks .

riverhead authors have won pen and other literary awards , including the booker prize , the hurston/wright legacy award for writers of african descent , the stonewall award for gay , lesbian , bisexual , and transgender fiction , and the national book foundation ’s 5 under 35 for the best young emerging voices .

four authors were included in the new yorker 's " 20 under 40 " list of young fiction writers .

as of 2015 the publisher of riverhead was geoffrey kloske .

current company officers are listed on the penguin group ( usa ) website .

riverhead books

founded in 1994 by susan petersen kennedy , riverhead books is now well - established as a publisher of bestselling literary fiction and quality nonfiction . throughout its history , riverhead books has been dedicated to publishing extraordinary , ground - breaking , unique fiction and nonfiction writers . riverhead’s books have won pulitzer prizes , national book critic circle awards , and numerous other distinctions .
get your riverhead tote here ! ( eleanor roosevelt not included , sorry . )
riverhead will also be promoting a number of literary events and competitions , with the chance to win signed books , cash prizes and the opportunity of seeing your own book published and on the shelves of the city’s leading bookshops .
the surrendered by chang - rae lee ( riverhead books ) : the lives of a korean war orphan and a young gi collide in an orphanage where they vie for the attentions of a beautiful yet deeply damaged missionary wife whose elusive love seemed to transform everything .
riverhead picked a good year to turn 20 . in january , the penguin random house imprint released the bestselling on such a full sea , by critical darling chang - rae lee . in the spring , the final book from the late literary giant peter matthiessen , in paradise , also hit the bestseller lists . summer brought emma straub’s the vacationers , one of the biggest books of the beach - going season . and this fall , a brief history of seven killings novelist marlon james landed on the cover of publishers weekly’s issue devoted to the best books of 2014 ( lee also made pw’s cut , in addition to another riverhead author : helen oyeyemi , for boy , snow , bird ) .
how to read the air by dinaw mengestu ( riverhead books ) : a young man leaves behind his marriage and job in new york to retrace his parents’ honeymoon as young ethiopian immigrants , weaving together a family history that will take him from the war - torn country of his parents ' youth to a brighter vision of his life in america today .
take pleasure in your own work . writing is difficult , to be sure , and the dark moments really are dark , but great books were written by people who meant it , loved it , and felt those sentences completely .
names tell the machine goodnight as one of the best sci - fi books of 2018 :
some novels defy explanation , and katie williams ' debut fits in that category . . . . it ' s so beautifully crafted .
in keeping with what kloske describes as riverhead’s “author - focused” atmosphere , the imprint’s writers have participated in various anniversary events throughout the year , in addition to the moth collaboration . at the riverhead holiday party in december , wolitzer and straub will be providing the cookies , novelist andrea chapin the chocolate cake , and the miniature wife writer manuel gonzales and save the date author jen doll the pies .
looking ahead to the next twenty years , kloske acknowledged that despite the steadfast riverhead model , the industry’s fluctuating landscape has made change the new norm . “we do books that decades ago would have been review driven , ” said kloske . “as that space became scarcer , we had to fight harder and come up with new ideas , new gambits . just when you think you have it all sorted , everything shifts a little bit . and that keeps it exciting . ”
the gendarme by mark mustian ( amy einhorn books / putnam ) : a world war i veteran , nearing the end of his life , is suddenly beset by memories of escorting armenians from turkey , churning up troubling details he and others have denied or purposely forgotten .
throughout this milestone year , v - p and publisher geoffrey kloske admitted that those at the imprint have been “looking back a little bit more than we normally would , ” taking stock of what riverhead has accomplished and endured in the last two decades . despite coming of age in one of the most disruptive periods in publishing history , riverhead’s foundational goal has held firm , said kloske . “riverhead was [ created ] for discovery of emerging authors , and that’s something more or less we’ve remained true to , ” he said , adding that “a good portion” of the imprint’s list is devoted to debuts or early - stage authors .
martin also spearheaded the 20th - anniversary celebrations , which kicked off with a panel at the association of writers & writing programs conference in february . in may , at bookexpo america in new york , riverhead hosted more than 400 people at an anniversary party on the hudson river . the highlight of the celebratory year , said kloske , came in september , when , in conjunction with npr’s moth radio hour , five riverhead writers—james , wolitzer , mcbride , maile meloy , and jon ronson , with sarah vowell as host—told stories to a sold - out audience at the great hall at cooper union , in a show titled “20 years of riverhead . ”
to be eligible for the 2011 awards , english - language books must be published or translated into english in 2010 and address the theme of peace on a variety of levels , such as between individuals , among families and communities , or among nations , religions , or ethnic groups .
but now , as we reflect on that success , we must remember that the opportunity hasn’t ended , but just started . and to celebrate this , riverhead is looking forward to discovering more of the area’s writing talent .
lesley nneka arimah has had quite a year ! we knew we wanted to do a riverhead table with lesley from the moment she said that one of her favorite things to do in new york is finding new nigerian restaurants to try with her friends .
riverhead’s main aims when it was launched over fifteen years ago was to help and promote hull’s wealth of unsung , writing talent and raise the creative profile of the city . and , following the city’s unique success in 2017 , that aim remains stronger than ever .
founded as a division of putnam in 1994 by susan petersen kennedy , the new venture was intended to be a home for , as kloske put it , “distinct , idiosyncratic , and voice - driven” projects . riverhead became part of penguin following putnam’s purchase of penguin and , like all of penguin , is now part of penguin random house . “penguin random house has extraordinary capabilities , ” said kloske . “we do everything we can to leverage all those many , many strengths . but riverhead is small . the imprint can fit in the elevator . ”
i wrote most of my first two books on my bed in a little wooden house in newport beach . i wrote sons and daughters of ease and plenty and awayland between my couch in santa barbara , someone else’s couch in santa fe , and cafés in berkeley . soon i’ll be setting up shop in a little studio shed in my new backyard in boulder , colorado !
this long - term publishing strategy of building each author’s career , rather than focusing on a single format or publication , requires “elbow grease” and patience , said kloske . “it’s really hard , ” he continued . “you have to have the ability to work with someone over enough time . . . in order to get to that place where you can finally reach the audience you hope to . ” some of the earliest books the imprint published were by authors who are still with riverhead today—drown , by junot diaz ; the color of water , by james mcbride ( whose the good lord bird won the 2013 national book award for fiction ) ; and lee’s native speaker . the roster of authors now also includes nick hornby , khaled hosseini , anne lamott , and meg wolitzer .
riverhead draft is a new , bimonthly series in which we ask our authors seven questions , touching on everything from their writing routines ( both ideal and real ) and preferred methods of procrastination to what brings them creative sustenance . for our inaugural post , we spoke to the effervescent ramona ausubel , whose short story collection awayland was published in march .
“there is a sense that because we are so small , we are all entrusted with the entire list and making it work , ” said martin . “the overall riverhead list is small enough that our whole publicity and marketing team reads more or less every book we publish . ” martin holds group brainstorms , where all members of the publicity and marketing departments are meant to contribute “out of box” ideas on every title . one broad tactic the imprint employs is partnering with companies to “push book content where it formerly didn’t exist , ” said martin . in the last year , riverhead placed an “especially sexy” etgar keret short story on a dating site , and paired with printer makerbot to create the first - ever 3 - d - printed slipcover for on such a full sea .
as riverhead’s 22 employees stick by the imprint’s original credo , they also strive for innovation—especially in the increasingly difficult task of getting debut novels and relative unknowns into the hands of readers . one way they achieve this , kloske said , is by creating “publicity kits like you’ve never seen before . ” to that end , the imprint hired publicity director jynne dilling martin away from random house in 2011 and , this year , added associate publisher to her title .
kennedy , who will step down as president of penguin group usa at the end of 2014 , echoed kloske’s characterization of the imprint as an intimate , author - driven place . “the quality of the writing was always important and remains so , but first and foremost riverhead was meant to be personal , ” she said . “we wanted to be personally invested in every book we published . . . [ by ] writers who made us laugh , made us cry , enlarged our understanding of the human condition . writers who made each of us feel less alone , and writers who made the ‘other being’ before us more comprehensible . we wanted to be their midwife , their shepherd , their companion , their admirer . and we wanted to look after them as the years went by because we knew they carried something timeless . ”
contact : patrick kowalczyk , patrick @ urltoken jenny chang , jenny @ urltoken pkpr , 212 . 627 . 8098
– celebrating the power of literature to promote peace , the dayton literary peace prize foundation today announced the finalists for the 2011 dayton literary peace prize in fiction and nonfiction .
inspired by the 1995 dayton peace accords that ended the war in bosnia , the dayton literary peace prize is the only international literary peace prize awarded in the united states . the prize celebrates the power of literature to promote peace , nonviolent conflict resolution , and global understanding .
a winner and runner - up in fiction and nonfiction will be announced on september 20th . winners receive a $ 10 , 000 honorarium and runners - up receive $ 1 , 000 . 00 . they will be honored at a gala ceremony hosted by award - winning journalist nick clooney in dayton on sunday , november 13th .
) will be the recipient of the 2011 richard c . holbrooke distinguished achievement award , formerly known as the lifetime achievement award and renamed this year in honor of the celebrated u . s . diplomat . previous lifetime achievement award winners include studs terkel ( 2006 ) , elie wiesel ( 2007 ) , taylor branch ( 2008 ) , nicholas kristof and sheryl wudunn ( 2009 ) , and geraldine brooks ( 2010 ) .
this year’s finalists help readers to see pressing political issues through the eyes of individuals whose lives are inextricably bound up with the larger world around them ,
said sharon rab , chair of the dayton literary peace prize foundation . “each work , in its own way , reminds us that even the most personal decisions can have a profound effect on the lives of people halfway around the globe and far into the future . ”
beneath the lion’s gaze by maaza mengiste ( w . w . norton and company ) : an epic tale of a father and two sons , of betrayals and loyalties , and a family unraveling in the wake of ethiopia’s revolution .
kapitoil by teddy wayne ( harpercollins publishers ) : a young financial wizard from qatar , fluent in numbers yet baffled by human connections , creates a computer program that predicts oil futures and reaps record profits for his american company – but carries heavy moral implications that force him to examine his loyalties .
crossing mandelbaum gate : coming of age between the arabs and israelis , 1956 - 1978 by kai bird ( scribner ) : pulitzer prize winner kai bird’s memoir of his early years spent in israel , jordan , egypt , saudi arabia , and lebanon provides an original and illuminating perspective on the arab - israeli conflict .
little princes by conor grennan ( harpercollins publishers ) : after trading his day job for a life of globe - trekking adventure , the author finds a greater purpose when he volunteers at a nepalese “orphanage” full of children whose families believe they’ve been led out of the war - torn country to safety .
unbroken by laura hillenbrand ( random house ) : the bestselling author of seabiscuit offers a vivid account of louis zamperini , a former olympic runner who was shot down over the pacific during world war ii and drew on deep wellsprings of ingenuity , optimism , and humor to survive thousands of miles across the ocean followed by even greater trials as a prisoner of war .
for us surrender is out of the question by mac mcclelland ( soft skull press ) : part investigative journalism , part memoir , mcclelland’s fascinating debut recalls her experiences as a midwestern twenty - something girl illegally aiding refugee activists on the burma - thailand border .
in the place of justice : a story of punishment and deliverance by wilbert rideau ( alfred a . knopf ) : a death row inmate in louisiana ' s angola penitentiary , at the time the most violent in the nation , finds redemption as a prison journalist in this uplifting memoir .
the warmth of other suns by isabel wilkerson ( random house ) : wilkerson tells the stories of three black americans who fled the south for an uncertain existence in the urban north and west in what became known as the great migration of the mid - 20th century .
finalists will be reviewed by a panel of prominent writers including ken mcclane , eric bates , ron carlson , and april smith .
the dayton literary peace prize honors writers whose work uses the power of literature to foster peace , social justice , and global understanding . launched in 2006 , it has already established itself as one of the world’s most prestigious literary honors , and is the only literary peace prize awarded in the united states . as an offshoot of the dayton peace prize , the dayton literary peace prize awards a $ 10 , 000 cash prize each year to one fiction and one nonfiction author whose work advances peace as a solution to conflict , and leads readers to a better understanding of other cultures , peoples , religions , and political points of view . the richard c . holbrooke distinguished achievement award is also bestowed upon a writer whose body of work reflects the prize ' s mission ; previous honorees include studs terkel , elie wiesel , taylor branch , nicholas kristof and sheryl wudunn , and geraldine brooks .
promoting peace and literacy around the world dayton literary peace prize , p . o . box 461 , wright brothers branch , dayton , oh 45409 - 0461 tel : ( 937 ) 298 - 5072 : : email : sharon . rab @ urltoken
we ' ve detected that javascript is disabled in your browser . would you like to proceed to legacy twitter ?
we’re a publisher dedicated to extraordinary , ground - breaking , unique fiction and non - fiction writers and their work .
' s the female persuasion , calling it ,
wonderfully dense and wise , a page - turner that succeeds both at character and ideas . it felt true to life .
(
one of my occasional book recommendations - this , by @ megwolitzer , a novel about power , ambition and contemporary feminism , is really good . urltoken
i’m reading this novel , the incendiaries by @ rokwon , obsessively . and in fact it’s about how desire can tilt into obsession and i just looked down and wonder if i’m a little susceptible myself ? urltoken
a question i ask myself often is ,
can poets just do everything well ?
i ' d say the answer is a resounding yes . . . and the latest example of this is new zealand poet
both timely and timeless . . . groff’s florida is not just a place , but a particular kind of energy .
# alanhollinghurst in conversation with @ marlonjames5 on the violent world of jamaican gangsters in the 1970s and the london of # margaretthatcher in the 1980s . # thelineofbeauty # abriefhistoryofsevenkillings # manbooker50 @ southbankcentre urltoken
923751 / camilla - honours - 50th - anniversary - man - booker - prize - buckingham - palace . html
“writing is about finding a way in . and like in some hoary old fable , i must gather three items to be permitted entry . . . ” —katie williams
! i talk about fanaticism , belief , cults , joy , grief , and sontag ' s
lexical inevitability .
i write what feels urgent to me , and only in editing does my analytical brain kick in
: lauren groff on her story in this week ' s issue .
twitter may be over capacity or experiencing a momentary hiccup . try again or visit twitter status for more information .
you can add location information to your tweets , such as your city or precise location , from the web and via third - party applications . you always have the option to delete your tweet location history . learn more
here ' s the url for this tweet . copy it to easily share with friends .
by embedding twitter content in your website or app , you are agreeing to the twitter developer agreement and developer policy .
not on twitter ? sign up , tune into the things you care about , and get updates as they happen .
this timeline is where you’ll spend most of your time , getting instant updates about what matters to you .
hover over the profile pic and click the following button to unfollow any account .
when you see a tweet you love , tap the heart — it lets the person who wrote it know you shared the love .
the fastest way to share someone else’s tweet with your followers is with a retweet . tap the icon to send it instantly .
add your thoughts about any tweet with a reply . find a topic you’re passionate about , and jump right in .
by clicking sign up , i acknowledge that i have read and agree to penguin random house ' s privacy policy and terms of use .
“a question i ask myself often is , ‘can poets just do everything well ? ’ i ' d say the answer is a resounding yes . . . and the latest example of this is new zealand poet ashleigh young’s compelling , exhilarating book of essays can you tolerate this ?
— nylon
from bestselling writers like emma straub and anton disclafani , to world - renowned authors like juan gabriel vasquez , álvaro enrigue and carlo rovelli , we ' re dedicated to bringing our readers the very best in literary fiction and serious nonfiction .
that was , oh , over a year ago , before she exploded on to the national literary scene . her fantastical and revelatory story collection what is means when a man falls from the sky won multiple prizes–most recently the prestigious nypl young lions award and kirkus prize in fiction–and was named a best book of year by the new yorker , buzzfeed , npr , the root and dozens more publications .
we were finally able to step into the kitchen with lesley earlier this month , and the meal she put together was worth the wait . there were no recipes to follow : just lesley working from memory to teach us how to make a delicious home style nigerian lunch with a cajun twist .
heat oil in a large , heavy - bottomed pot over medium heat . add onion and shallots and cook for several minutes , until translucent . stir in all other ingredients except for the coconut milk and rice , bring to a boil , and let simmer , uncovered , for 8 - 10 minutes . add coconut milk and return to a boil . taste for seasoning . stir in the rice and reduce the flame to low . cover the pot ( make sure it is well sealed ) and let the rice cook for approximately 30 minutes without opening . let stand covered for 10 minutes . fluff before serving .
melt the butter ( yes , all of it ) in a large sauté pan over medium heat . when it is bubbling , add all of the garlic , paprika , and old bay seasoning . stir to combine . add shrimp , raise heat to medium - high , and toss , making sure all of the shrimp gets coated in the sauce . squeeze on lemons . cover and let cook for 6 - 7 minutes , turning occasionally , until shrimp are fully and evenly cooked . serve with the rice , topped with the sauce .
place oil in a deep skillet or wok and place over medium - high heat . test whether it is hot enough by dropping in a slice of plantain . if the oil starts to bubble around the plantain immediately but does not smoke , it is ready . add the slices but only as many as you can fit without crowding . cook until golden brown on one side , then flip and brown on the other . remove from oil with a slotted spoon and drain on a baking sheet covered with paper towels . keep warm in a low oven ( 200 degrees ) until serving .
place 8 cups of the water in a large saucepan and bring to a boil . add the hibiscus flowers and ginger slices . once the water boils , reduce heat and let simmer for 20 minutes . remove from heat and let cool . in a small saucepan , make a simple syrup : mix the sugar with the remaining two cups of water , bring to the boil , and stir until the sugar dissolves ; let cool . strain the hibiscus - ginger mixture through cheesecloth , gathering the cloth and squeezing to get all of the juice . fill a pitcher ¼ full with the hibiscus - ginger concentrate and stir in freshly squeezed lime juice and syrup to taste . serve over ice in tall glasses , adding vodka to turn it into a proper cocktail !
after cooking we toasted to lesley and her wonderful book with a couple of bottles of palm wine ! then we dug into the most satisfying meal we’ve had in ages .
tiphanie yanique , author of land of love and drowning , will make a special appearance , and you may even win a chance to get your hands on an advance copy of black leopard , red wolf , the first installment in marlon james’ epic fantasy trilogy , dark star . don’t play yourself – come hang , and bring a friend or three !
i’m a slow reader , and it seems like i only get slower as i write more , because i’m trying to pay attention to the story and the prose and how the writer did what she did , and i’m also thinking about any outside context i have for the book , etc . i’m not so much embarrassed about not having read everything ( i have missed so many things ! ! ) , because even if i read all day every day , i’d still have hardly dipped into the pool . however , i do want to remember how to simply disappear into a book without trying to figure it out . that’s something i’m working on this year .
writing ( and reading ) are how i appreciate and try to understand the massively complicated life and lives that we are all living . i know i would write even if no one ever read what i put down .
i have a tiny little writing group in l . a . , which is not where i live , so we meet way less than i wish , but they are always my first readers and even just knowing that makes everything i write better because i want to deserve their attention . one of the best parts about becoming a writer is having friends who write amazing things and getting to love both the person and the work . that’s a magical and lucky gift .
baking bread , cleaning the house , reading magazines . least favorite / most used : the internet . ugh .
we’re certain that everyone will agree that ‘2017 - uk city of culture’ was a fantastic year for hull , when the city was finally given the chance to show the world what a wealth of creative talent it boasts . and how it grasped that opportunity .
during the year we published our usual crop of new releases by local authors including : rachael alexander’s ‘courage queen’ , robert baillie’s ‘waiting for the tide’ and robin chester’s ‘it’s only a few dodgy cells’ . and with others already set for release in 2018 , including bob addey’s ‘changing course’ and david carmichael’s ‘lucky anderson’ , we’re anticipating another exciting twelve months .
nyc / in homes globally · we’re a publisher dedicated to extraordinary , ground - breaking , unique fiction and non - fiction writers and their work .
parts of this site are only available to paying pw subscribers . subscribers : to set up your digital access click here .
pw “all access” site license members have access to pw ’s subscriber - only website content . simply close and relaunch your preferred browser to log - in . to find out more about pw ’s site license subscription options please email : pw @ urltoken .
if you have questions or need assistance setting up your account please email pw @ urltoken or call 1 - 800 - 278 - 2991 ( u . s . ) or 1 - 818 - 487 - 2069 ( all other countries ) , monday - friday between 5am and 5pm pacific time for assistance .
. there are 3 possible reasons you were unable to login and get access our premium online pages .
to get immediate access to all of our premium digital content try a monthly subscription for as little as $ 18 . 95 per month . you may cancel at any time with no questions asked . click
you forgot your password and you need to retrieve it . click here to access the password we have on file for you .
call : 1 - 800 - 278 - 2991 ( us ) or 1 - 818 - 487 - 2069 ( outside us / canada ) 5 a . m . - 5 p . m . mon - fri ( pacific )


gather-scatter is a type of memory addressing that often arises when addressing vectors in sparse linear algebra operations .

it is the vector-equivalent of register indirect addressing , with gather involving indexed reads and scatter indexed writes .

vector processors ( and some simd units in cpus ) have hardware support for gather-scatter operations , providing instructions such as load vector indexed for gather and store vector indexed for scatter .

gather - scatter ( vector addressing )

have a fact about gather - scatter ( vector addressing ) ? write it here to share it with the entire community .
have a definition for gather - scatter ( vector addressing ) ? write it here to share it with the entire community .
this article is about the vector addressing type . for the i / o method , see vectored i / o .
gather - scatter instructions may not be the optimal choice of instructions when you are trying to achieve superior performance on the intel® xeon phi™ coprocessor . however , if your code uses indirect addressing or performs non - unit strided memory accesses , gather - scatter instructions may be the best option . this document reveals the operation of gather - scatter instructions and introduces - opt - gather - scatter - unroll , a new compiler switch added to intel® c + + compiler 14 . 0 and intel® fortran compiler 14 . 0 that may provide improvements in certain codes that use gather - scatter instructions .
note that the gather - scatter - unroll compiler switch may not provide a performance improvement for all codes . its primary target are codes that use indirect addressing or perform non - unit strided memory accesses .
high performance computers are centered around the concept of vector processing . the first super - computer generation is single processor oriented . the last trends introduce parallel processing concepts in this field ( e . g . cray 2 ) . in this context , we propose to associate a specialized processor in vector addressing to vector processors . this one takes in charge the whole computation required to access either a contiguous vector , or a sparsed vector controlled by an index vector ( gather / scatter operations ) . an elementary vector access processor is in charge of vector operand fetching with a limited length . a modular cluster will increase length of fetched vectors .
• fetching non - contiguous data elements from memory using vector - index memory addressing . these “gather” instructions introduce a new memory - addressing form , consisting of a base register and multiple indices specified by a vector register ( either xmm or ymm ) . data elements sizes of 32 and 64 - bits are supported , and data types for floating - point and integer elements are also supported .
on page 488 , pdep and pext are parallel bits deposit and parallel bits extract . they are essentially scatter / gather instructions for bits .
fig . 13 illustrates a flow diagram of a process for packed loading and storing of data in a gather / scatter distribution in accordance with an embodiment .
as shown in the above two examples , gather - scatter instructions are generally followed by a conditional branching instruction which is used to test whether the gather - scatter is complete and re - trigger the instruction if it is not . however , this conditional branching is an added overhead to the execution of the program .
before we dive into the details of how and when to use the compiler switch and why it even works , let us review the operation of gather - scatter instructions .
the operation of the scatter instructions is very similar to that of the corresponding gather instructions . the only difference being that the instruction stores data elements into the memory instead of loading them into an output vector register . similar to the gather instructions , only those elements will be stored into memory for which the corresponding mask bits are set .
in certain cases , a programmer may know that in his application , most gather - scatter sequences take n number of invocations for completion . in such cases , the programmer may use the - gather - scatter - unroll = n compiler switch to hint the compiler to unroll the re - trigger loop n times , thereby alleviating the overhead caused by the branching instructions .
the write mask register , also known as the source mask , plays an important role in the operation of the gather . the mask register has one bit corresponding to each element that can be held by the output vector register . the elements of the mask register for which the corresponding bit is set are known as the active elements . in a gather instruction , data is loaded from memory to the vector register for only the active elements of the vector . on a given invocation of a gather instruction , the following operations are performed :
in the following code , we know ( based on prior information ) that all the data elements are widely scattered in memory and , in general , will need 16 invocations of the gather - scatter instructions . in this case , we can add a “ - gather - scatter - unroll = 8 ” switch to the compiler call . we use an unroll factor of 8 as this is the greatest unroll factor allowed by the compiler . the compiler will unroll the loop , alleviating the overhead incurred due to the branching instructions . the unrolled code generated by the compiler with the “ - gather - scatter - unroll = 8 ” switch is shown below :
…ulations when loading from an address that ' s computed by adding two registers together , x86 can scale one of them by 2 , 4 , or 8 , for free as part of the addressing calculation . this change makes the code generated for gather and scatter use this . for the cases where gather / scatter is based on a base pointer and an integer offset vector , the gsimprovementspass looks to see if the integer offsets are being computed as 2 / 4 / 8 times some other value . if so , it extracts the 2x / 4x / 8x part and leaves the rest there as the the offsets . the { gather , scatter } _ base _ offsets _ * functions take an i32 scale factor , which is passed to them , and then they carefully generate ir so that it hits llvm ' s pattern matching for these scales . this is particular win on avx , since it saves us two 4 - wide integer multiplies . noise runs 14 % faster with this . issue # 132 .
as with the gather instruction , memory is accessed at a granularity of 64 bytes , and hence all the elements present in a given 64 bytes of memory are “scattered” in a single invocation of the scatter instruction . again , a scatter instruction will generally be re - executed ( i . e . re - triggered ) until all the required data has been stored to memory .
i suspect that for these ones , it ' s going to be good - this looks too fundamental to the sorts of changes first described in larrabee programming guides . the hope is that many of these functions ( conditional loads , scatter / gather , etc ) will allow a much larger proportion of loops to be parallelized than is currently the case . obviously not everything is amenable to parallelization due to serial dependencies , but having scatter / gather to do multiple load / store stuff makes it a lot easier .
6 . the method of claim 5 , wherein a plurality of addresses of the second plurality of non - contiguous locations in the memory of the data elements to scatter are distributed in separate register file elements of the vector computation register file .
due to the special behavior of the mask register , it can be used to allow conditional looping of the gather instruction until all the elements from a given write mask have been successfully loaded . a typical usage of a gather instruction along with the re - trigger loop is shown below :
in this example , since the compiler has no prior information as to the order that data elements of arr2 will be accessed , the compiler will generate gather - scatter instructions to load the different data elements into a vector register and to store those data elements back to memory once the data elements have been incremented . without the switch , the code generate by the compiler will look similar to the following :
each processing slice within the processing element 400 includes a memory access pipeline ( load / store pipeline ) and an arithmetic pipeline . managing flow through the lsu 420 as a load / store pipeline can enable computation of one address per vector data element or sub - element , and facilitates the gathering and scattering of data from and to memory . gather / scatter capabilities provide access to data stored in non - contiguous memory locations by realizing multiple vector data element accesses simultaneously , despite their disjoint distribution in non - contiguous memory . the processing element 400 provides the ability to perform associated fixed - point effective address ( i . e . , virtual address ) computations to support gather - scatter functionality . the arithmetic pipeline through the alu 418 can include a robust assortment of floating - point and fixed - point operations to support a variety of workloads .
• vector shift instructions with per - element shift count . data elements sizes of 32 and 64 - bits are supported .
the sparse scatter , denoted y | _ x \ leftarrow x is the reverse operation . it copies the nonzero values of sparse x into the corresponding locations in the dense vector y , i . e . y ( idx ( i ) ) = x ( i ) .
packing a second number of the data elements into less than the width of the register file elements of the vector computation register file .
consider the vgatherdps instruction which gathers a float32 vector using signed dword indices . the inputs and outputs of the vgatherdps instruction are shown below :
if multiple data elements required by the gather sequence are present in the 64 bytes then all the corresponding elements of the output register are updated with the values from the accessed memory .
miura k . ( 2011 ) fujitsu vector computers . in : padua d . ( eds ) encyclopedia of parallel computing . springer , boston , ma
> primitives for permutations of bits , see section 1 . 29 . 2 on page 81 . a bit - gather and a bit - scatter instruction for sub - words of all sizes a power of 2 would allow for arbitrary permutations ( see [ fxt : bits / bitgather . h ] and [ fxt : bits / bitseparate . h ] for versions working on complete words ) .
in embodiments , processing elements are implemented as vector processors . in a vector processor , memory accesses and arithmetic instructions can act upon full vectors or generally continuous portions of vectors , where vectors enable parallel processing on multiple data elements . for some operations , memory accesses or calculations for randomly distributed elements of the vectors may be immaterial . to reduce traffic through a memory hierarchy , and the associated energy consumed , by unnecessary memory accesses , the vector processors include vector mask register files for use in predication of instructions and as targets of comparison instructions . predication of instructions allows for selective execution of certain elements of the vectors based on a mask .
note that during a single invocation of the gather instruction , only 64 bytes of memory are accessed and the output register is updated with only those elements that are present in these 64 bytes . since gather instructions are generally used to fetch data elements that are dispersed in memory , it is unlikely that the all required data elements will be present in the accessed 64 bytes of memory . hence , it is generally required for the programmer to execute gather statements in a loop until all the required data elements have been loaded into the output register . as each data element is gathered , the corresponding bit in the write mask register is reset . the completion of the gather sequence is signaled by the write mask register being zero , i . e . when all the bits of the mask register have been cleared ( zero ) .
david a patterson , lecture 6 : vector processing , 1998 , 60 pages , retrieved from the internet on may 7 , 2015 , retrieved from url < urltoken > .
pdep uses a mask in the second source operand ( the third operand ) to transfer / scatter contiguous low order bits in the first source operand ( the second operand ) into the destination ( the first operand ) .
these are extremely interesting instructions . it ' s worth noting , however , that things like gather / scatter live and die by the quality of their implementation . i would hope that these are considered worth delivering high - quality implementations , but let ' s just say that intel has occasionally been known to deliver complex instructions that are all but useless due to poor latency and reciprocal throughput . sse4 . 2 , i ' m looking at you .
although the example process 1300 of fig . 13 has been described in reference to gathering data elements followed by scattering data elements , it will be understood that data elements can be scattered and then gathered . furthermore , multiple gather and scatter load / store commands can be initiated in parallel across multiple processing slices in the processing element 400 . scattering and gathering can reference a common data set to read / modify / store distributed data values or can operate on different data sets , where a first data set is gathered - read , processed , and a resulting second data set is scattered - written to different non - contiguous memory locations . additionally , scattering and gathering may be performed independently of each other , where non - contiguous data is gathered , processed and stored contiguously ( no - scatter ) or contiguous data can be read ( no gather ) , processed , and scattered - written non - contiguously .
matsuura t , miura k , makino m ( 1985 ) supervector performance without toil : fortran implemented vector algorithms on the vp - 100 / 200 . comput phys commun 37 : 101–107
at the processing slice level , computation can occur on floating - point and fixed - point data types at , for example , a 64 - bit granularity in a temporal simd manner on 64 - bit vector elements , and in a temporal and spatial simd manner on narrower vector sub - elements , which can be 32 - bits , 16 - bits , or 8 - bits wide .
packing and loading the set of data elements into a set of register file elements of a third register file entry of the vector computation register file by the processing element based on the second instruction .
miura k ( 1986 ) fujitsu s supercomputer : facom vector processor system . in : fernbach s ( ed ) supercomputers : class vi systems , hardware and software . north - holland , amsterdam , pp 137–152
scattering and storing , by the processing element , the plurality of data elements to a plurality of non - contiguous locations in the memory based on the instruction and a plurality of addresses in parallel with performing the at least one sub - instruction accessing the register file entries of the scalar computation register file , wherein each of the plurality of data elements is individually addressable and is narrower than a width of the plurality of register file elements of the vector computation register file , wherein an address of one of the non - contiguous locations in the memory of each of the data elements to scatter is distributed in each of at least two separate register file elements of a first register file entry of the register file entries of the vector computation register file .
7 . the method of claim 6 , wherein the addresses of the second plurality of non - contiguous locations in the memory of the data elements to scatter are different addresses than the addresses of the first plurality of non - contiguous locations in the memory from which the data elements are gathered .
for the case where the element size is 2 , 4 , or 8 , we ' d like take advantage of the free scale by 2 / 4 / 8 in the x86 address calculation ops . it should be pretty straightforward to update one of the gather / scatter optimizations to do this ; the trick is to emit a pattern that llvm identifies . early experiments suggest that for the i32 offset case , the key is to sext to i64 first , then do a scalar multiply by 2 / 4 / 8 , then gep with base address and the offset before the load / store .
17 . the method of claim 16 , wherein the plurality of addresses of the non - contiguous locations in the memory of the data elements to scatter are different addresses than the plurality of addresses of the set of non - contiguous locations in the memory from which the set of data elements are gathered .
fig . 13 depicts an example process 1300 for packed loading and storing of data in a gather / scatter distribution in an active memory device , such as the active memory devices of figs . 1 - 3 . the blocks depicted in fig . 13 may be performed by one of the processing elements of figs . 1 - 4 in an active memory device . for example , the blocks may be performed by a processing element in an active memory device , where the processing element accesses portions of memory ( e . g . , memory vaults sharing a stack with the processing element ) and performs operations on data accessed from the memory . for purposes of explanation , the processing element is described in reference to processing element 400 of fig . 4 . although fig . 13 is described relative to an active memory device , it will be understood that the process of fig . 13 can be implemented in systems that include a processing element 400 in communication with memory in other configurations , such as memory located remotely from the processing element 400 . accordingly , the processing element 400 need not be located within an active memory device and can perform gather / scatter operations on remotely located memory including , for example , memory located in a separate active memory device .
fig . 7 is similar to the example of fig . 6 , where data in memory 702 has the same width as the register file elements 704 a - 704 f of register file entry 705 in vector register file 703 , but with the data is scattered in memory 702 rather than contiguous . since processing element 400 supports the gathering and scattering of data from / to memory , the processing element 400 can load data element values a - f in fig . 7 into the register file elements 704 a - 704 f of register file entry 705 , with the result being that the data ends up in the vector register file 703 exactly the same as it did in vector register file 603 in fig . 6 when the data was contiguous in memory 602 .
fig . 9 is similar to the example of fig . 8 , where data in memory 902 has a narrower width than the register file elements 904 a - 904 f of register file entry 905 in vector register file 903 , but with the data scattered in memory 902 rather than contiguous . since processing element 400 supports the gathering and scattering of data to / from memory including narrower width data , the processing element 400 can load data element values a - f in fig . 9 into the register file elements 904 a - 904 f of register file entry 905 , with the result being that the data ends up in the vector register file 903 exactly the same as it did in vector register file 803 in fig . 8 when the data was contiguous in memory 802 .
• cross - lane functionalities are provided with several new instructions for broadcast and permute operations . some of the 256 - bit vector integer instruc - tions promoted from legacy sse instruction sets also exhibit cross - lane behavior , e . g . vpmovz / vpmovs family .
miura k , uchida k ( 1984 ) facom vector processor vp - 100 / vp - 200 . in : kowalik js ( ed ) high - speed computation , nato asi series f : computer and systems sciences , vol 7 . springer , berlin , pp 127–138
13 . the method of claim 12 , wherein the vector computation register file is accessible by the load - store unit and the arithmetic - logic unit , wherein each of the plurality of addresses comprises a greater width than a width of each of the plurality of data elements .
miura k , nagakura h , tamura h ( 1991 ) vp2000 series dual scalar and quadruple scalar models supercomputer systems – a new concept in vector processing . in : proceedings of compcon spring 91 , san francisco , ca . ieee computer society press , washington , dc , pp 294–302
16 . the method of claim 15 , wherein packing and loading the set of data elements into the set of register file elements by the processing element based on the second instruction further comprises distributing the set of packed data elements into fewer register file elements than are consumed by a plurality of addresses of the set of the non - contiguous locations in the memory to gather .
fujitsu vector machines are the series of supercomputers developed by fujitsu from 1976 to 1999 . they are based on the pipeline architecture , and vpp systems have also incorporated a high degree of parallelism with distributed memory in the system architecture , utilizing the full crossbar network for non - blocking system interconnect .
overall it ' s like a wet dream for bit - bashers . pdep ? pext ? byte field extract ? scatter ? 256 - bit integer simd ? i was almost too excited to speak when i first skimmed this ( moderated somewhat by the 2013 release date and lingering concerns that some of the better insns will have latency 8 and reciprocal throughput 5 or something disappointing like that ) .
a vector processor may support multiple memory accesses in parallel . when data types being accessed have different widths , particularly smaller than a nominal width , gathering the data in parallel and storing the data in parallel can result in inefficient use of memory , such as leaving potentially unusable gaps between data elements stored and read from memory .
fig . 11 shows an embodiment , whereby narrower data is scattered throughout memory 1102 , yet is still loaded and packed into fewer register file elements 1104 a - 1104 c of register file entry 1105 in vector register file 1103 than in register file elements 904 a - 904 f of register file entry 905 of fig . 9 .
fig . 12 illustrates an example of packed loading and storing of data in a gather / scatter distribution in accordance with an embodiment . in fig . 12 , narrower data is scattered throughout memory 1202 , yet is still loaded and packed into fewer register file elements 1204 a - 1204 c of register file entry 1205 in vector register file 1203 than in register file elements 904 a - 904 f of register file entry 905 of fig . 9 . fig . 12 also depicts that addresses of the narrow data elements can be distributed over register file elements 1206 a - 1206 u of register file entry 1207 , extending to a greater number of register file elements than the number used to hold the data associated with the addresses in register file elements . for example , data element values a - u are packed into register file elements 1204 a - 1204 c of register file entry 1205 , but the addresses associated with the data element values a - u are distributed between register file elements 1206 a - 1206 u of register file entry 1207 . additionally , in the example of fig . 12 , the width of address elements is the same as the register file elements 1206 a - 1206 u ( 8 bytes wide ) in vector register file 1203 , while the data element values are 1 byte wide . additionally , the processing element 400 can support packing and accessing less than the full width of the register file elements , such as register file element 1204 c of register file entry 1205 that only packs 5 of 8 bytes .
3 . the method of claim 2 , wherein packing and loading the data elements into the one or more of the register file elements further comprises distributing the packed data elements into fewer register file elements than are consumed by the addresses , and the second register file entry is subsequent to the first register file entry in the vector computation register file .
fig . 10 is an example of narrower data types arranged contiguously in memory 1002 being packed into fewer register file elements 1004 a - 1004 c of register file entry 1005 in vector register file 1003 than in register file elements 904 a - 904 f of register file entry 905 of fig . 9 . the data can be loaded as if the data type was the same as in fig . 6 , since it is arranged contiguously .
in exemplary embodiments , the processing element 400 supports gathering and scattering of narrow data types to / from memory into a register file , such as the vcr 414 , in a packed fashion in addition to other size and distribution patterns . fig . 6 shows data which is arranged in memory 602 in a contiguous manner , and which has the same width as the register file elements 604 a - 604 f . the data is loaded into the vector elements of an entry of a vector register file 603 , such as vcr 414 , having a multiplicity of elements associated with each addressable entry . in the example of fig . 6 , each of the register file elements 604 a - 604 f of register file entry 605 includes 8 bytes ( 64 bits ) , and data element values a - f each include 8 byes ( 64 - bits ) arranged contiguously across 32 - bytes of memory 602 .
avx2 promotes the vast majority of 128 - bit integer simd instruction sets to operate with 256 - bit wide ymm registers . avx2 instructions are encoded using the vex prefix and require the same operating system support as avx . generally , most of the promoted 256 - bit vector integer instructions follow the 128 - bit lane operation , similar to the promoted 256 - bit floating - point simd instructions in avx . newer functionalities in avx2 generally fall into the following categories :
at block 1312 , the processing element 400 scatters and stores data elements to non - contiguous locations in memory based on the second instruction . similar to gathering , scattering can be managed using the vcr 414 , lsu 420 , and erat 422 , as well as the lsq 404 . the lsq 404 can control sequencing of gathering and scattering based on addresses generated by the lsu 420 and translated by the erat 420 . the addresses of the non - contiguous locations in the memory of the data elements to scatter can be different addresses than the non - contiguous locations in the memory from which the data elements are gathered .
fig . 8 shows an arrangement of a narrower data type in a contiguous manner in memory 802 . the data element values a - f are loaded into register file elements 804 a - 804 f of a register file entry 805 , with the extra space of the wider registers left vacant . for example , the data element values a - f are each 1 byte wide in fig . 8 while the register file elements 804 a - 804 f of a register file entry 805 are each 8 bytes wide in vector register file 803 .
packing and loading the data elements into one or more of the register file elements of a second register file entry of the register file entries of the vector computation register file by the processing element based on the instruction , such that at least two of the data elements gathered from the first plurality of non - contiguous locations in the memory are packed and loaded into a single register file element of the second register file entry as a plurality of packed data elements in parallel with performing the at least one sub - instruction accessing the register file entries of the scalar computation register file .
at block 1304 , the processing element 400 gathers a plurality of individually addressable data elements from non - contiguous locations in the memory which are narrower than a nominal width of register file elements in the processing element 400 based on the instruction . for example , the vcr 414 of the processing element 400 can include a plurality of register file entries , where each of the register file entries includes a plurality of register file elements . in the example of fig . 12 , each register file element per register file entry has a width of 8 bytes ( 64 bits ) and supports data elements as narrow as 1 byte ( 8 bits ) . addresses of the non - contiguous locations in the memory of the data elements to gather may be distributed in separate register file elements of a register file entry in the vcr 414 . the lsu 420 can use the addresses from the vcr 414 to gather data elements from non - contiguous locations in memory , where each address in the vcr 414 can map to an independent data element to be gathered as part of a single instruction . as previously described , the lsu 420 can operate in parallel with other units , such as alu 418 . the addresses in the vcr 414 can be translated into a physical address by the erat 422 . as can be seen in the example of fig . 12 , the addresses in the vcr 414 can have a greater width than a width of the data elements ( e . g . , 8 bytes vs . 1 byte ) .
in an embodiment , the active memory devices include stateless processing elements within a memory cube . processing elements appear to a program in the main processor as long latency functional units . the processing elements themselves are programmable engines , comprising an instruction buffer , an instruction unit , including branching capability and instruction decode , a mixture of vector , scalar , and mask register files , a plurality of load / store units for the movement of data between memory and the register files , and a plurality of execution units for the arithmetic and logical processing of various data types . also included are address translation capabilities for converting program virtual addresses to real addresses , a unified load / store queue to sequence data movement between the memory and the processing elements , and a processor communications unit , for communication with the main processor .
programs configured to execute on the processing element 400 can contain data types of different widths , and the data may be located in a contiguous manner in memory , or it may be scattered about in a random fashion . the processing element 400 , which supports multiple - sized data types within its register files such as in vcr 414 and scr 416 , can load its register files with any data type that is arranged in a contiguous manner . the processing element 400 can also support the gathering and scattering of each data type into one entry or vector element of the register files . rather than limiting register file entries or elements to a fixed bit width or leaving vacant space within an entry or element when loading a data type of a size less than the nominal width of the register file , the processing element 400 can pack smaller data types , whether or not they are arranged in a contiguous manner in memory .
fig . 4 depicts an example of a processing element 400 coupled to an interconnect network 402 as an embodiment of one of the processing elements of figs . 1 - 3 . the processing element 400 is a programmable vector processing element , situated in an active memory device , such as one of the active memory devices of figs . 1 - 3 . in the example of fig . 4 , the processing element 400 includes a load - store queue ( lsq ) 404 coupled to the interconnect network 402 and to an instruction buffer 406 . the instruction buffer 406 is also coupled to a lane control unit ( lcu ) 408 and a decoder 410 . a processor communication unit ( pcu ) 412 provides a communication interface between the processing element 400 and the main processor or other processing elements through the interconnect network 402 . the lsq 404 is also coupled to a vector computation register file ( vcr ) 414 and a scalar computation register file ( scr ) 416 . the vcr 414 and scr 416 are coupled through multiple multiplexers to an arithmetic logic unit ( alu ) 418 and a memory - access unit 420 , also referred to as a load - store unit ( lsu ) 420 . the alu 418 is coupled to itself and to the lsu 420 through multiplexers , and is also coupled to the vcr 414 and the scr 416 . the lsu 420 may also be coupled to itself , to the lsq 404 , to an effective - to - real address translation unit ( erat ) 422 , to the vcr 414 and to the scr 416 ( all connections not depicted ) . the erat 422 is also coupled to the lsq 404 . as will be appreciated , numerous other connections and elements can be included in the processing element 400 . for example , connections between the decoder 410 and other elements are not depicted for clarity . additionally , depicted connections in fig . 4 can be modified or omitted , such as the depicted connection between decoder 410 and pcu 412 .
at block 1310 , the processing element 400 unpacks data elements from the register file entry based on the second instruction . the unpacking of the data elements from the register file entry by the processing element 400 based on the second instruction can include reading the packed data elements as narrower data types ( e . g . , 1 byte ) and reading the addresses as wider data types ( e . g . , 8 bytes ) . the processing element 400 can unpack at least a first number of data elements filling the nominal width of register file elements , such as 8 1 - byte data elements from register file element 1204 a of register file entry 1205 , and unpack a second number of data elements occupying less than the nominal width of register file elements , such as 5 1 - byte data elements from register file element 1204 c of register file entry 1205 , where the register file elements in the vector register file 1203 are 8 bytes wide in the example of fig . 12 .
at block 1306 , the processing element 400 packs and loads the data elements into a register file entry based on the instruction , such that at least two of the data elements gathered from non - contiguous locations in the memory are packed and loaded into a single register file element . packing and loading the data elements into the register file elements by the processing element 400 based on the instruction can include distributing the packed data elements into fewer register file elements than are consumed by the addresses . for example , in fig . 12 , each address is one 8 - byte entry distributed over register file elements 1206 a - 1206 u of register file entry 1207 , for a total of 21 full register file elements in register file entry 1207 . the data elements associated with the addresses are packed 8 : 1 into three register file elements 1204 a - 1204 c of register file entry 1205 , for a total of two full and one partial register file elements . therefore , only 21 bytes are occupied for data elements in the example of fig . 12 , while 168 bytes are occupied for addresses . moreover , the data elements in fig . 12 are loaded in a contiguous order in the vector register file 1203 even though they are scattered at non - contiguous locations in the memory 1202 . the processing element 400 can pack at least a first number of data elements to fill the nominal width of register file elements ( e . g . , 8 1 - byte data elements to fill an 8 - byte register file element width for register file element 1204 a ) , and can also pack a second number of data elements into less than the nominal width of register file elements ( e . g . , 5 - byte data elements packed into an 8 - byte register file element width for register file element 1204 c ) .
this is a computer translation of the original content . it is provided for general information only and should not be relied upon as complete or accurate .
at least a single active element starting from the least significant active bit in the source mask is selected .
64 bytes of memory corresponding to the selected element is accessed . note that the accessed element will always access 64 bytes of memory .
the mask bits in the write mask register corresponding to the updated elements in the output register are reset to 0 .
# zmm0 – index register # r8 - base address # k1 - mask register # zmm6 – output register # 4 - scale . . l10 : vgatherdps ( % r8 , % zmm0 , 4 ) , % zmm6 { % k1 } jkzd . . l9 , % k1 vgatherdps ( % r8 , % zmm0 , 4 ) , % zmm6 { % k1 } jknzd . . l10 , % k1 . . l9 :
# zmm0 – index register # r12 - base address # k3 - mask register # zmm6 – input register # 4 - scale . . l14 : vscatterdps % zmm7 , ( % r12 , % zmm6 , 4 ) { % k3 } jkzd . . l13 , % k3 vscatterdps % zmm7 , ( % r12 , % zmm6 , 4 ) { % k3 } jknzd . . l14 , % k3 . . l13 :
sign in to disable all ads . thank you for helping build the largest language community on the internet .
have a better pronunciation ? upload it here to share it with the entire community .
simply select a language and press on the speaker button to listen to the pronunciation of the word . leave a vote for your preferred pronunciation .
javascript is disabled on your browser . please enable javascript to use all the features on this page .
copyright © 2018 elsevier b . v . or its licensors or contributors . sciencedirect ® is a registered trademark of elsevier b . v .
html public
- / / w3c / / dtd xhtml 1 . 0 transitional / / en
urltoken
this article will be permanently flagged as inappropriate and made unaccessible to everyone . are you certain this article is inappropriate ?
this article was sourced from creative commons attribution - sharealike license ; additional terms may apply . world heritage encyclopedia content is assembled from numerous content providers , open access publishing , and in compliance with the fair access to science and technology research act ( fastr ) , wikimedia foundation , inc . , public library of science , the encyclopedia of life , open book publishers ( obp ) , pubmed , u . s . national library of medicine , national center for biotechnology information , u . s . national library of medicine , national institutes of health ( nih ) , u . s . department of health & human services , and urltoken , which sources content from all federal , state , local , tribal , and territorial government publication portals ( . gov , . mil , . edu ) . funding for urltoken and content contributors is made possible from the u . s . congress , e - government act of 2002 .
crowd sourced content that is contributed to world heritage encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles .
by using this site , you agree to the terms of use and privacy policy . world heritage encyclopedia™ is a registered trademark of the world public library association , a non - profit organization .
copyright © world library foundation . all rights reserved . ebooks from project gutenberg are sponsored by the world library foundation , a 501c ( 4 ) member ' s support non - profit organization , and is not affiliated with any governmental agency or department .
• avx2 complements the avx instructions that are typed for floating - point operation with a full compliment of equivalent set for operating with 32 / 64 - bit integer data elements .
apl and j have
transpose
instructions that let you rearrange the dimensions of a multidimensional array . i figured out awhile back how that could be done without having to move all the individual elements in memory ; basically , keep track of the ' step size ' between elements on each axis , and you can shuffle them around as much as you like . of course , once you ' ve done that , you ' re jumping back and forth all over the array to pull in each element when / where you want it .
wow , i can ' t wait to play around with pdep and pext instructions .
i want to use them for speeding up some critical code for compression / decompresison , the current code is not straightforward .
the document is pretty easy to navigate if you know which instructions you want to look up .
pext uses a mask in the second source operand ( the third operand ) to transfer either contiguous or non - contiguous bits in the first source operand ( the second operand ) to contiguous low order bit positions in the destination ( the first operand ) .
these days it ' s the arm instruction set i care about . strange how fast x86 dropped off my radar .
downmodders are really out of control here lately . obviously i ' m not saying that
cares about x86 anymore . it just very quickly went from the years of being only game in town to a sideshow
what server software i do write is in very hll like ruby but i actually find myself looking at arm disassembly sometimes now for apps .
maybe the feeling is that your personal statement of discontent with x86 is not really relevant to the story that new instructions have been added to x86 . this is probably why you were downvoted . if you want to leave a comment with a similar essence , perhaps you should try commenting on one or two new instructions that are [ interesting | upsetting | repetitive ] to you ahead of your statement that you don ' t care about arm anymore .
since i started writing software professionally over ten years ago x86 was the only instruction set that mattered outside of a few niche domains . now it ' s all but irrelevant in the fastest growing market . for those of us that have lived in the shadow of wintel our entire professional lives the last few years have seen some dizzying changes .
so the big picture for me is that developments in x86 are now minor news .
enauczanie to usługa elektroniczna oparta na popularnym systemie moodle , umożliwiająca szeroko rozumiane kształcenie zdalne , odbywanie zaliczeń testów weryfikujących wiedzę oraz dostęp do wirtualnych laboratoriów . nowoczesna platforma dydaktyczna oferuje obecnie blisko 1200 kursów z różnych dziedzin wiedzy , obsługując ponad 20 tysięcy użytkowników rocznie .
niniejsza witryna internetowa korzysta z plików cookie . pozostając na tej stronie , wyrażasz zgodę na korzystanie z plików cookie . dowiedz się więcej .
github is home to over 28 million developers working together to host and review code , manage projects , and build software together .
have a question about this project ? sign up for a free github account to open an issue and contact its maintainers and the community .
by clicking “sign up for github” , you agree to our terms of service and privacy statement . we’ll occasionally send you account related emails .
sign up for free to join this conversation on github . already have an account ? sign in to comment
you signed in with another tab or window . reload to refresh your session .
you signed out in another tab or window . reload to refresh your session .
this system was organized as an asymmetric multiprocessor system which consists of the mainframe computer facom 230–75 and the array processor unit . the clock was 90 ns , and the peak performance of apu is 22 mflop / s for addition / subtraction and 11 mflop / s for . . .
uchida k , seta y , tanakura y ( 1978 ) the facom 230 - 75 array processor system . in : proc 3rd usa - japan computer conference , san francisco , ca . afips press , montvale , nj , pp 369–373
miura k ( 1990 ) vectorization and parallelization of transport monte carlo simulation codes . in : nato asi series vol f62 , pp 307–324
uchida n et al ( 1990 ) fujitsu vp2000 series . in : proceedings of compcon spring 90 , san francisco , ca . ieee computer society press , washington , dc , pp 4–11
hwang k ( 1993 ) section 8 . 2 . 3 fujitsu vp2000 and vpp500 . in : advanced computer architecture : parallelism , scalability , programmability . mcgraw - hill , inc . , new york , pp 425–429
miyoshi h et al ( 1994 ) development and achievement of nal numerical wind tunnel ( nwt ) for cfd computations . in : proceedings of 1994 acm / ieee conference on supercomputing ( sc 94 ) , washington , dc . ieee computer society press ( 1994 ) , washington , dc , pp 685–692
utsumi t , ikeda m , takamura m ( 1994 ) architecture of the vpp500 parallel supercomputer . in : proceedings of supercomputing 94 , washington , dc . ieee computer society press , washington , dc , pp 478–486
nakashima y , kitamura t , tamura h , takiuchi m , miura k ( 1994 ) the scalar processor of the vpp500 parallel supercomputer . in : proceedings of the 9th acm international conference on supercomputing ( ics 94 ) , manchester , england . acm , new york , pp 348–356
nakanishi m , ina h , miura k ( 1994 ) a high perfor - mance linear equation solver on the vpp500 parallel supercomputer . in : proceedings of 1994 acm / ieee conference on supercomputing ( sc 94 ) , washington , dc . ieee computer society press , washington dc , pp 803–810
iwashita h et al ( 1994 ) vpp fortran and parallel programming on the vpp500 supercomputer . in : proceedings of 1994 international symposium on parallel architectures , algorithms and networks ( ispan 94 ) , kanazawa , japan , 14–16 dec 1994 , pp 165–172
nodomi a , ikeda m , takamura m , miura k ( 1995 ) hardware performance of the vpp500 parallel supercomputer . in : dongarra j , grandinetti l , joubert g , kowalik j ( eds ) high performance computing : technology , method and applications , vol 10 . advances in parallel computing . elsevier , amsterdam , pp 103–120
this preview has intentionally blurred sections . sign up to view the full version .
this is the end of the preview . sign up to access the rest of the document .
{ [ document . course . dept _ acro ] } { [ document . course . course _ num ] }
as a current student on this bumpy collegiate pathway , i stumbled upon course hero , where i can find study resources for nearly all my courses , get online help from tutors 24 / 7 , and even share my old projects , papers , and lecture notes with other students .
i cannot even describe how much course hero helped me this summer . it’s truly become something i can always rely on and help me . in the end , i was not only able to survive summer classes , but i was able to thrive thanks to course hero .
the ability to access any university’s resources through course hero proved invaluable in my case . i was behind on tulane coursework and actually used ucla’s materials to help me move forward and get everything together on time .
legal status ( the legal status is an assumption and is not a legal conclusion . google has not performed a legal analysis and makes no representation as to the accuracy of the status listed . )
current assignee ( the listed assignees may be inaccurate . google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list . )
priority date ( the priority date is an assumption and is not a legal conclusion . google has not performed a legal analysis and makes no representation as to the accuracy of the date listed . )
arrangements for program control , e . g . control units using stored programs , i . e . using an internal store of processing equipment to receive or retain programs
embodiments relate to packed loading and storing of data . an aspect includes a method for packed loading and storing of data distributed in a system that includes memory and a processing element . the method includes fetching and decoding an instruction for execution by the processing element . the processing element gathers a plurality of individually addressable data elements from non - contiguous locations in the memory which are narrower than a nominal width of register file elements in the processing element based on the instruction . the data elements are packed and loaded into register file elements of a register file entry by the processing element based on the instruction , such that at least two of the data elements gathered from the non - contiguous locations in the memory are packed and loaded into a single register file element of the register file entry .