Answers.Body: <p>There are a lot of other potential applications. It's a good idea to start with GPU related problems, since GPUs are essentially doing a slightly wider set of operations, slightly slower. Some possible problems where TPUs might be advantageous are:  </p>
  
  <ul>
  <li><p><a href="https://en.wikipedia.org/wiki/Shader" rel="nofollow noreferrer">Shaders</a> are algorithms for rendering graphics in one style or another. Since computer graphics can be understood as mostly linear algebra, it is natural to view this as operations over tensors.</p></li>
  <li><p><a href="https://en.wikipedia.org/wiki/Dynamical_simulation" rel="nofollow noreferrer">Physical simulations</a>, which again involve multiplication of vectors by a series of matrices. </p></li>
  <li><p><a href="https://en.wikipedia.org/wiki/Lattice_model_(finance)" rel="nofollow noreferrer">Options Pricing</a>, which again involves the multiplication of vectors by a series of matrices, especially when more complex derivatives are prices and the lattice becomes multi-dimensional. </p></li>
  </ul>
  
  <p>Within AI, there are many other algorithms optimized to work with GPUs, and that could be modified to work with tensor specific hardware. For example, we have:</p>
  
  <ul>
  <li><p><a href="https://arxiv.org/abs/1601.00221" rel="nofollow noreferrer">Genetic Programming on GPUs</a></p></li>
  <li><p><a href="https://link.springer.com/chapter/10.1007/978-3-642-37291-9_13" rel="nofollow noreferrer">Multiagent Systems on GPUs</a></p></li>
  <li><p><a href="https://fenix.tecnico.ulisboa.pt/downloadFile/395146459368/thesis.pdf" rel="nofollow noreferrer">SAT solving on GPUs</a></p></li>
  </ul>
  
  <p>There does not yet seem to be much work optimizing these other problems for Tensor Processing units, but TPUs are also not yet very old. It took several years following the availability of inexpensive consumer GPUs before we started to see widespread use in AI. I suspect we will see more TPU-tailored code for other problems soon.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-05-06T19:57:02.190Z
Answers.Text: I think that might also be an application, although I think the advantages of doing so are probably small. In most RL algorithms (e.g. TD-$\lambda$), the change we make in our estimate of the value of one state will depend on the _changes_ we make to the estimates for other states. This means there is an inherently sequential nature to RL updates. I think you might be able to come up with a parallel approach, but it's not as obviously useful as the other domains that were mentioned.
Answers.UserDisplayName: John Doucette
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-10-07T21:50:40.277Z
Answers.LastActivityDate: 2018-10-07T21:50:40.277Z
Answers.UserDisplayName: John Doucette
Body: <p>AI algorithms involving neural networks can use tensor specific hardware. Are there any other artificial intelligence algorithms that could benefit from many tensor calculations in parallel?  Are there any other computer science algorithms (not part of AI) that could benefit from many tensor calculations in parallel?</p>
  
  <p>Have also a look at <a href="https://en.wikipedia.org/wiki/Tensor#Applications" rel="nofollow noreferrer">TensorApplications</a> and <a href="https://en.wikipedia.org/wiki/Application_of_tensor_theory_in_engineering" rel="nofollow noreferrer">Application Theory</a>.</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-09-19T00:18:20.253Z
Comments.Text: One place is shaders for graphics. It was the original usage for GPUs anyways.
Comments.UserDisplayName: Jaden Travnik
Tags: <algorithm><applications><hardware>
Title: Which artificial intelligence algorithms could use tensor specific hardware?
UserDisplayName: bob smith
ThreadText: # Which artificial intelligence algorithms could use tensor specific hardware?
  
  (Asked by: username_0 on 2018-09-18)
  
  AI algorithms involving neural networks can use tensor specific hardware. Are there any other artificial intelligence algorithms that could benefit from many tensor calculations in parallel? Are there any other computer science algorithms (not part of AI) that could benefit from many tensor calculations in parallel?
  
  Have also a look at [TensorApplications](https://en.wikipedia.org/wiki/Tensor#Applications) and [Application Theory](https://en.wikipedia.org/wiki/Application_of_tensor_theory_in_engineering).
  
  **Tags:** algorithm, applications, hardware
  
  > **Comments:**
  > **username_1**: One place is shaders for graphics. It was the original usage for GPUs anyways.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2018-10-07. Score: 1
  
  There are a lot of other potential applications. It's a good idea to start with GPU related problems, since GPUs are essentially doing a slightly wider set of operations, slightly slower. Some possible problems where TPUs might be advantageous are:
  
  * [Shaders](https://en.wikipedia.org/wiki/Shader) are algorithms for rendering graphics in one style or another. Since computer graphics can be understood as mostly linear algebra, it is natural to view this as operations over tensors.
  * [Physical simulations](https://en.wikipedia.org/wiki/Dynamical_simulation), which again involve multiplication of vectors by a series of matrices.
  * [Options Pricing](https://en.wikipedia.org/wiki/Lattice_model_(finance)), which again involves the multiplication of vectors by a series of matrices, especially when more complex derivatives are prices and the lattice becomes multi-dimensional.
  
  Within AI, there are many other algorithms optimized to work with GPUs, and that could be modified to work with tensor specific hardware. For example, we have:
  
  * [Genetic Programming on GPUs](https://arxiv.org/abs/1601.00221)
  * [Multiagent Systems on GPUs](https://link.springer.com/chapter/10.1007/978-3-642-37291-9_13)
  * [SAT solving on GPUs](https://fenix.tecnico.ulisboa.pt/downloadFile/395146459368/thesis.pdf)
  
  There does not yet seem to be much work optimizing these other problems for Tensor Processing units, but TPUs are also not yet very old. It took several years following the availability of inexpensive consumer GPUs before we started to see widespread use in AI. I suspect we will see more TPU-tailored code for other problems soon.
  
  > **Comments:**
  > **username_2**: I think that might also be an application, although I think the advantages of doing so are probably small. In most RL algorithms (e.g. TD-$\lambda$), the change we make in our estimate of the value of one state will depend on the _changes_ we make to the estimates for other states. This means there is an inherently sequential nature to RL updates. I think you might be able to come up with a parallel approach, but it's not as obviously useful as the other domains that were mentioned.  
  
  ---
  
  