I don't think it's equivalent to the sieve of eratosthenes (even when the optimization of using only odds is used).
Here is what Sieve of Sundaram looks like (where we loop at a = 2i + 1 and b = 2j + 1 instead of i and j):
n ← 1000000 // limit

// initialize the sieve
is_prime(2) ← true
is_prime(i) ← [i is odd], ∀ i ∈ [3, n]

for all odd a such that 3 ≤ a and a² ≤ n:
    for all odd b such that a ≤ b and ab ≤ n:
        is_prime(ab) ← false

while Sieve of Eratosthenes (using only odd integers) roughly looks like this (only one line is added):
n ← 1000000 // limit

// initialize the sieve
is_prime(2) ← true
is_prime(i) ← [i is odd], ∀ i ∈ [3, n]

for all odd a such that 3 ≤ a and a² ≤ n:
    if not is_prime(a): continue      // only this has changed
    for all odd b such that a ≤ b and ab ≤ n:
        is_prime(ab) ← false

This also shows that the Sieve of Sundaram is less efficient than the Sieve of Eratosthenes, and that its complexity is Θ(n log n) (since 1/2 + 1/3 + 1/4 + ... + 1/n grows asymptotically as log n) compared to sieve of eratosthenes' Θ(n log log n) (since 1/2 + 1/3 + 1/5 + 1/7 + ... + 1/p grows asymptotically as log log n).