blog.chewxy.com/2016/07/25/on-the-memory-alignment-of-go-slice-values

Preview meta tags from the blog.chewxy.com website.

Linked Hostnames

11

Search Engine Appearance

Google

https://blog.chewxy.com/2016/07/25/on-the-memory-alignment-of-go-slice-values

On the memory alignment of Go slice values

TL;DR and Meta – I was playing around with some AVX instructions and I discovered that there were some problems. I then described the investigation process of the issue and discovered that this was because Go’s slices are not aligned to a 32 byte boundary. I proceed to describe the alignment issue and devised two solutions, of which I implemented one. On Thursday I decided to do some additional optimization to my Go code. This meant writing some assembly to get some of the AVX goodness into my program (I once gave a talk on the topic of deep learning in Go, where I touched on this issue). I am no stranger to writing assembly in Go, but it’s not something I touch very often, so sometimes things can take longer to remember how to do them. This is one of them. So this blog post is mainly to remind myself of that. The values in Go slices are 16-byte aligned. They are not 32 byte aligned.



Bing

On the memory alignment of Go slice values

https://blog.chewxy.com/2016/07/25/on-the-memory-alignment-of-go-slice-values

TL;DR and Meta – I was playing around with some AVX instructions and I discovered that there were some problems. I then described the investigation process of the issue and discovered that this was because Go’s slices are not aligned to a 32 byte boundary. I proceed to describe the alignment issue and devised two solutions, of which I implemented one. On Thursday I decided to do some additional optimization to my Go code. This meant writing some assembly to get some of the AVX goodness into my program (I once gave a talk on the topic of deep learning in Go, where I touched on this issue). I am no stranger to writing assembly in Go, but it’s not something I touch very often, so sometimes things can take longer to remember how to do them. This is one of them. So this blog post is mainly to remind myself of that. The values in Go slices are 16-byte aligned. They are not 32 byte aligned.



DuckDuckGo

https://blog.chewxy.com/2016/07/25/on-the-memory-alignment-of-go-slice-values

On the memory alignment of Go slice values

TL;DR and Meta – I was playing around with some AVX instructions and I discovered that there were some problems. I then described the investigation process of the issue and discovered that this was because Go’s slices are not aligned to a 32 byte boundary. I proceed to describe the alignment issue and devised two solutions, of which I implemented one. On Thursday I decided to do some additional optimization to my Go code. This meant writing some assembly to get some of the AVX goodness into my program (I once gave a talk on the topic of deep learning in Go, where I touched on this issue). I am no stranger to writing assembly in Go, but it’s not something I touch very often, so sometimes things can take longer to remember how to do them. This is one of them. So this blog post is mainly to remind myself of that. The values in Go slices are 16-byte aligned. They are not 32 byte aligned.

  • General Meta Tags

    7
    • title
      On the memory alignment of Go slice values - Bigger on the Inside
    • charset
      utf-8
    • X-UA-Compatible
      IE=edge
    • viewport
      width=device-width, initial-scale=1.0, maximum-scale=1.0
    • description
      TL;DR and Meta – I was playing around with some AVX instructions and I discovered that there were some problems. I then described the investigation process of the issue and discovered that this was because Go’s slices are not aligned to a 32 byte boundary. I proceed to describe the alignment issue and devised two solutions, of which I implemented one. On Thursday I decided to do some additional optimization to my Go code. This meant writing some assembly to get some of the AVX goodness into my program (I once gave a talk on the topic of deep learning in Go, where I touched on this issue). I am no stranger to writing assembly in Go, but it’s not something I touch very often, so sometimes things can take longer to remember how to do them. This is one of them. So this blog post is mainly to remind myself of that. The values in Go slices are 16-byte aligned. They are not 32 byte aligned.
  • Open Graph Meta Tags

    5
    • og:title
      On the memory alignment of Go slice values
    • og:description
      TL;DR and Meta – I was playing around with some AVX instructions and I discovered that there were some problems. I then described the investigation process of the issue and discovered that this was because Go’s slices are not aligned to a 32 byte boundary. I proceed to describe the alignment issue and devised two solutions, of which I implemented one. On Thursday I decided to do some additional optimization to my Go code. This meant writing some assembly to get some of the AVX goodness into my program (I once gave a talk on the topic of deep learning in Go, where I touched on this issue). I am no stranger to writing assembly in Go, but it’s not something I touch very often, so sometimes things can take longer to remember how to do them. This is one of them. So this blog post is mainly to remind myself of that. The values in Go slices are 16-byte aligned. They are not 32 byte aligned.
    • og:url
      https://blog.chewxy.com/2016/07/25/on-the-memory-alignment-of-go-slice-values/
    • og:type
      website
    • og:site_name
      Bigger on the Inside
  • Twitter Meta Tags

    5
    • twitter:title
      On the memory alignment of Go slice values
    • twitter:description
      TL;DR and Meta – I was playing around with some AVX instructions and I discovered that there were some problems. I then described the investigation process of the issue and discovered that …
    • twitter:card
      summary
    • twitter:site
      @chewxy
    • twitter:creator
      @chewxy
  • Link Tags

    13
    • alternate
      https://blog.chewxy.com/index.xml
    • stylesheet
      https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.10.0/katex.min.css
    • stylesheet
      https://use.fontawesome.com/releases/v5.5.0/css/all.css
    • stylesheet
      https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css
    • stylesheet
      https://blog.chewxy.com/css/main.css

Links

20