Cache write misses

I’ve been using Intel Pin tool to perform analysis of cache miss rates of a parallel application in multi-level caches, using one of the examples allcache.cpp, the results differentiate load and write misses, and the miss rates of each one vary significantly in L1, load miss rates of 20% vs store misses 90%.

Why can be such difference between each type?

Planning to use 1 arrow to hit a second target if it misses the first target

I’ve read a lot about “shooting the other enemy” and how enemies don’t occupy the entire 5ft square; however what I can’t find is the following scenario:

two orcs one arrow

I intentionally position my character to have a straight line with two enemies. I’m aiming for the first one but in case it misses I want my arrow to continue and possibly hit the next enemy. My understanding is that I can miss for 2 reasons.

  1. I shoot slightly wrong direction
  2. I shoot correctly but the enemy dodges.

It is the situation (2) that I want to take advantage of and basically roll again fo the second enemy, perhaps even with advantage since it didn’t expect to be shot. Would you allow this? What would you ask to roll?

Ice knife against objects also Ice Knife explosion damage when it misses

I know that the Ice Knife spell specifically states “the target creature”, but it doesn’t make a lot of sense given how the spell works. Why could I not throw it at a barrel, or the ground for that matter, and get the explosion effect.

It feels odd to say it cannot be cast on non living objects. However, by saying you can attack the ground you make this into a mini 3×3 fireball at any time (barring a crappy to hit roll against a square), which seems overpowered.

Also if the knife missed where does it go? I don’t see it still being in the target square if it missed the target. I considered grenade rules, but that also seems a bit complicated.

Does anyone have any thoughts on this?

Arnoldi method misses eigenvalues degeneracies for very sparse matrices

I am here to signal a problem very very similar to the one already discussed here

Wrong eigenvalues from a sparse matrix

In particular, I have a very sparse matrix and I am asking just few dominant eigenvalues.

I noticed that, while the algorithm (arnoldi, with max iterations very large ~ 10^6) finds the correct eigenvalues, It misses the degeneracies (my matrix as a double degeneracy for all the eigenvalues). A funny feature is that the problem gets solved if instead of asking very few eigenvalues (say, 10) I ask some more (say, 40).

Is there any updates about this problem?

If a feature occurs “after seeing the roll, but before knowing whether it hits or misses” what happens on a critical hit/miss?

This is inspired by the recent question: “Can I use the Enchantment wizard's Instinctive Charm feature after seeing the die roll?” where this is mentioned at the end, but to avoid having multiple things going on there at once I thought it would be a good idea to ask this separately.

There are many features in the game that occur “after seeing the roll, but before knowing whether it hits or misses”, for example, the Bard’s Combat Inspiration states:

[…] When an attack roll is made against the creature, it can use its reaction to roll the Bardic Inspiration die and add the number rolled to its AC against that attack, after seeing the roll but before knowing whether it hits or misses […]

I would like answers here to assume that the player is told the actual number that appears on the die, this is supported in the in the following Q/A:

  • Does Combat Inspiration require the GM to announce attack roll totals?
  • How much does a bard know when they decide to use Cutting Words?

What I’m wondering is when using a feature like Combat Inspiration, what happens when the GM announces that the roll was a 1, or a 20? Does this mean you “know whether it hit or missed” and thus can’t use the feature?

Software management of TLB misses?

I’m reading an OS textbook and it was talking about TLB misses being handled by software. I’m very new to all this by the way. So there’s a context switch to some kernel procedure. But surely in this case the TLB is not flushed, and the kernel code doesn’t itself use the TLB, since that would defeat the purpose? But then how exactly does it work? I don’t know why the text wouldn’t address such a seemingly obvious question.

Plus you’re still using virtual memory, right? So you would be doing two context switches, a bunch of page table lookups in memory, in addition to the actual kernel instructions, per missing TLB entry. It just seems counterintuitive to do all that work to make use of something that’s supposed to save you work. Sorry if I’m getting something completely wrong here. Thank you in advance.

I need help creating a cache simulator for hits and misses

I need help creating a cache simulator that produces hits and misses. I am new to computer science. and for my computer architecture class, we were assigned to create a cache simulator. At the moment, i have started the code like this, however, i need an explanation on how to finish it and what is going on.

#include <iostream> #include <string>  using namespace std;  #define HIT_LATENCY 40 #define MISS_LATENCY 200 #define NUM_SETS 2048 #define NUM_WAYS 16  #define INDEX_BITS 11    struct block { long int tag; int repl; bool valid; };  struct block cache[NUM_SETS][NUM_WAYS]; 

If a projectile attack at a monk misses, can the monk use Deflect Missiles to catch the projectiles and throw them back?

Say there are projectiles aimed at a monk that don’t quite beat the AC, leading to a missed attack, but the roll was close to hitting (only falling short by 3-5).

Can monk use Deflect Missiles to catch the projectiles and throw them back at the attacker in a new Attack action?