Shop top categories that ship internationally
Buy new:
$138.00
Delivery Wednesday, January 8
Ships from: Amazon.com
Sold by: Amazon.com
$138.00
No Import Fees Deposit & $14.56 Shipping to Netherlands Details

Shipping & Fee Details

Price $138.00
AmazonGlobal Shipping $14.56
Estimated Import Fees Deposit $0.00
Total $152.56

Delivery Wednesday, January 8. Order within 23 hrs 16 mins
Or fastest delivery Friday, January 3
Only 2 left in stock (more on the way).
$$138.00 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$138.00
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon.com
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Amazon.com
Sold by
Amazon.com
Returns
Returnable until Jan 31, 2025
Returnable until Jan 31, 2025
For the 2024 holiday season, eligible items purchased between November 1 and December 31, 2024 can be returned until January 31, 2025.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$95.58
Item in good condition. Textbooks may not include supplemental items i.e. CDs, access codes etc... Item in good condition. Textbooks may not include supplemental items i.e. CDs, access codes etc... See less
$19.98 delivery January 15 - February 6. Details
Only 1 left in stock - order soon.
$$138.00 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$138.00
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Ships from and sold by glenthebookseller.
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the authors

Something went wrong. Please try your request again later.

Optimizing Compilers for Modern Architectures: A Dependence-based Approach 1st Edition

4.1 4.1 out of 5 stars 14 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$138.00","priceAmount":138.00,"currencySymbol":"$","integerValue":"138","decimalSeparator":".","fractionalValue":"00","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"Un1BRV2WFSlaJ%2BTgeYRqBN2l2jP%2F2ENszOUrZuBNfAN%2BzGc5HIdZmoEIrpcY5%2BmsjwrVrv2vxEBVfjLp0e7Au%2FzJmx0pkXHlO66Ol%2BoH8up4SJpBPET9eKHGxxK1P7VtHnJ2Ksf8YmA%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$95.58","priceAmount":95.58,"currencySymbol":"$","integerValue":"95","decimalSeparator":".","fractionalValue":"58","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"Un1BRV2WFSlaJ%2BTgeYRqBN2l2jP%2F2ENstwVtCjLcHFGqbFC1XUILDtkrtPhFfavfmB686gNYedIr7SJQ7VnhQve2GpYWe7XLX9Hk5DhTdcbb3eA%2BeGtmdZPJqXWnCtyHLGyeEQpgIpeOIppAxdPO0g0C9JPWJW5TRnHK3XwVKA4ueZumtcLx6Ucta4o4WCFn","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

Modern computer architectures designed with high-performance microprocessors offer tremendous potential gains in performance over previous designs. Yet their very complexity makes it increasingly difficult to produce efficient code and to realize their full potential. This landmark text from two leaders in the field focuses on the pivotal role that compilers can play in addressing this critical issue.

The basis for all the methods presented in this book is data dependence, a fundamental compiler analysis tool for optimizing programs on high-performance microprocessors and parallel architectures. It enables compiler designers to write compilers that automatically transform simple, sequential programs into forms that can exploit special features of these modern architectures.

The text provides a broad introduction to data dependence, to the many transformation strategies it supports, and to its applications to important optimization problems such as parallelization, compiler memory hierarchy management, and instruction scheduling. The authors demonstrate the importance and wide applicability of dependence-based compiler optimizations and give the compiler writer the basics needed to understand and implement them. They also offer cookbook explanations for transforming applications by hand to computational scientists and engineers who are driven to obtain the best possible performance of their complex applications.The approaches presented are based on research conducted over the past two decades, emphasizing the strategies implemented in research prototypes at Rice University and in several associated commercial systems. Randy Allen and Ken Kennedy have provided an indispensable resource for researchers, practicing professionals, and graduate students engaged in designing and optimizing compilers for modern computer architectures.

  • Offers a guide to the simple, practical algorithms and approaches that are most effective in real-world, high-performance microprocessor and parallel systems.
  • Demonstrates each transformation in worked examples.
  • Examines how two case study compilers implement the theories and practices described in each chapter.
  • Presents the most complete treatment of memory hierarchy issues of any compiler text.
  • Illustrates ordering relationships with dependence graphs throughout the book.
  • Applies the techniques to a variety of languages, including Fortran 77, C, hardware definition languages, Fortran 90, and High Performance Fortran.
  • Provides extensive references to the most sophisticated algorithms known in research.

Frequently bought together

This item: Optimizing Compilers for Modern Architectures: A Dependence-based Approach
$138.00
Only 2 left in stock (more on the way).
Ships from and sold by Amazon.com.
+
$66.94
In Stock
Sold by itemspopularsonlineaindemand and ships from Amazon Fulfillment.
Total price: $00
To see our price, add these items to your cart.
Details
Added to Cart
spCSRF_Treatment
One of these items ships sooner than the other.
Choose items to buy together.

Customer reviews

4.1 out of 5 stars
14 global ratings

Review this product

Share your thoughts with other customers
The quality of binding and paper is really bad, and I doubt it's a legal copy
1 out of 5 stars
The quality of binding and paper is really bad, and I doubt it's a legal copy
The quality of binding and paper is really bad, and I doubt it's a legal copy.See the picture. On the left hand side is a book my colleague bought years ago,the paper is superior and lighter, and the binding is solid.The book I just get is really hard to open to read the text in the inner side due to bad binding,and I think it will fall apart soon.
Thank you for your feedback
Sorry, there was an error
Sorry we couldn't load the review

Top reviews from the United States

  • Reviewed in the United States on June 5, 2010
    This is the only compiler book i know that performs a comprehensive study on dependences and their applications. It does not provide the theory to learn how a compiler front-end works but rather it focuses on dependence based optimization with applications on parallelism and cache optimization. I consider that this book serves its purpose perfectly
    2 people found this helpful
    Report
  • Reviewed in the United States on October 8, 2013
    The book was in very good shape as described. It is a very good book for vector parallelisation. Concepts are explained very well with lots of examples.
    One person found this helpful
    Report
  • Reviewed in the United States on January 22, 2016
    The quality of binding and paper is really bad, and I doubt it's a legal copy.

    See the picture. On the left hand side is a book my colleague bought years ago,
    the paper is superior and lighter, and the binding is solid.
    The book I just get is really hard to open to read the text in the inner side due to bad binding,
    and I think it will fall apart soon.
    Customer image
    1.0 out of 5 stars The quality of binding and paper is really bad, and I doubt it's a legal copy
    Reviewed in the United States on January 22, 2016
    The quality of binding and paper is really bad, and I doubt it's a legal copy.

    See the picture. On the left hand side is a book my colleague bought years ago,
    the paper is superior and lighter, and the binding is solid.
    The book I just get is really hard to open to read the text in the inner side due to bad binding,
    and I think it will fall apart soon.
    Images in this review
    Customer image
    Customer image
    2 people found this helpful
    Report
  • Reviewed in the United States on January 14, 2007
    Allen and Kennedy (A&K) haven't written your first compiler book. There's nothing about syntax analysis, code generation, instruction scheduling, or intermediate representations. You already know all that part, or you won't get very far in this book. Once you have the basics down, A&K is an irreplaceable reference.

    It centers heavily on Fortran - even today, a mainstay of scientific computing and an active area of language development. Today, just as 50 years ago, the language's straightforward structure makes detailed behavioral analysis relatively easy. That's especially true in handling the array computations that soak up so many dozens (as of this writing) of CPU-hours per second on todays largest machines. There's far too much to summarize here, but A&K cover a huge range of processor features, including caches, multiple ALUs, vector units, chaining, and more. C code gets some attention as well, much needed because of the cultural weirdness around array handling in C. In every case, the focus is on the real-world kernels that need the help and on explicit ways of identifying and manipulating those code structures. As a result, the authors disregard the unreal situations that sometimes arise, e.g. in
    "while (--n) *a++ = *b++ * *c++;"
    Yes, the arrays pointed to by a, b, and c can overlap. But the pointer a can also point to a, b, c, or n, somewhere in its range - and likewise for pointers b and c, or all three. There is essentially no limit to how bad this can get, e.g when n is an alias for a, b, or c. Yes these are rare situations and generally errors - but I've seen on-the-fly code generation in production environments, so even the A&K example isn't as bad as it gets. I admit these to be pathological cases, though, better suited to an 'Obfuscated C' contest than to a compiler textbook.

    The real disappointment comes from the section on compilation for Verilog and VHDL, and that disappointment may be a matter of emphasis only. The authors focus heavily on the strangeness of four-valued bits, which exist in Verilog and VHDL simulation, but not in synthesis. I.e., not in what really matters to a deployed application. The real challenge lies in compilation of C or Fortran into gates, a topic that the authors barely skim. That, however, is still a field of research exotica. It should be mentioned in a general book on compilation, as it is here, but awaits a text of its own.

    All you processor designers out there should read the title a little differently. You should read this as "Modern Architectures for Optimizing Compilers," but you probably worked that out for yourself. If you have the luxury to define your own memory structure, all that analysis of memory access will give you plenty of ideas for your next ASIP. It will certainly give you lots of ways to quantify the behavior of your target applications, so you'll know just how to get the most MIPS per Mgate, including hard limits on how much hardware paralellism can actually do you any good.

    All architects of performance computing systems, hardware or software, need this book. Even application developers can learn better ways to cooperate with the compilers and tools that run their codes. It has my very highest recommendation.

    //wiredweird
    13 people found this helpful
    Report
  • Reviewed in the United States on May 10, 2011
    This book looks structured at the first glance. But reading in detail, you will find that the book omits a lot of important detail for the algorithm. Also the language used in this book is hard to follow.
    3 people found this helpful
    Report
  • Reviewed in the United States on August 10, 2005
    This book is a very thorough look through all the ways you can extract and use parallelism and data dependencies advantageously in an optimized compiler, depending on your target architecture. As one example, this book contains every imaginable way to deal with arrays and loops and the maddeningly complex data dependancies that can result from their various interminglings. The book is refreshingly easy to read and contains pseudo-code and step-by-step examples everywhere you'd want to see them.
    6 people found this helpful
    Report